SjhZju / incubator-eventmesh

EventMesh is a dynamic cloud-native eventing infrastruture used to decouple the application and backend middleware layer, which supports a wide range of use cases that encompass complex multi-cloud, widely distributed topologies using diverse technology stacks.

Home Page:https://eventmesh.apache.org/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Apache EventMesh (incubating)

CI status CodeCov Language grade: Java Total alerts GitHub release License

点我查看中文版

logo

What is EventMesh?

EventMesh(incubating) is a dynamic cloud-native eventing infrastruture used to decouple the application and backend middleware layer, which supports a wide range of use cases that encompass complex multi-cloud, widely distributed topologies using diverse technology stacks.

architecture1

EventMesh Ecosystem:

architecture1

EventMesh Architecture:

architecture1

EventMesh Cloud Native:

architecture2

Components:

  • eventmesh-runtime : an middleware to transmit events between event producers and consumers, support cloud native apps and microservices.
  • eventmesh-sdk-java : currently supports HTTP and TCP protocols.
  • eventmesh-connector-api : an api layer based on OpenMessaging api and SPI pluggin, which can be implemented by popular EventStores such as IMDG, Messaging Engine and OSS etc.
  • eventmesh-connector-plugin : plugins for connector.
  • eventmesh-connector-standalone : an implementation of eventmesh-connector-api, pub event to or sub event from InMemory as EventStore.
  • eventmesh-connector-rocketmq : an implementation of eventmesh-connector-api, pub event to or sub event from RocketMQ as EventStore.
  • eventmesh-connector-kafka(WIP) : an implementation of eventmesh-connector-api, pub event to or sub event from Kafka as EventStore.
  • eventmesh-connector-redis(WIP) : an implementation of eventmesh-connector-api, pub event to or sub event from Redis as EventStore.
  • eventmesh-admin : clients,topics,subscriptions and other management.
  • eventmesh-registry-plugin : plugins for registry.
  • eventmesh-security-plugin : plugins for security.

Protocol:

The protocol of eventmesh is easier and more convenient, you can read more here

Feature

Event & Service

  • Pub/Sub
  • Request/Reply
  • Event Streaming
  • Event transaction
  • At-least-once/at-most-once delivery guarantees

Store

  • RocketMQ
  • InMemory
  • Kafka
  • Redis
  • Pulsar
  • RabbitMQ
  • DeFiBus
  • Cold storage (S3, Minio, SQL, key/value, etc...)

Protocol

  • TCP
  • Http
  • gRPC
  • CloudEvents
  • MQTT
  • AsyncAPI

SDK

  • Java
  • C
  • Go
  • Python

Deploy

  • Sidecar
  • Gateway
  • Docker

Metrics

  • OpenTelemetry
  • Promethus exporter

Tracing

  • OpenTelemetry
  • Zipkin exporter
  • Skywalking

Governance

  • Client management
  • Topic management
  • Metadata registry
  • Schema registry
  • Dynamic config

Choreography

  • Servelss workflow
  • Event function,triggers and bindings

Security

  • Auth
  • ACL

Quick Start

  1. Event-store (RocketMQ, ignore this step if use standalone).
  2. Runtime quickstart or Runtime quickstart with docker.
  3. Java examples .

Contributing

Contributions are always welcomed! Please see CONTRIBUTING for detailed guidelines.

You can start with the issues labeled with good first issue. GitHub Issues

Landscape



  

EventMesh enriches the CNCF CLOUD NATIVE Landscape.

License

Apache License, Version 2.0 Copyright (C) Apache Software Foundation.

Community

WeChat group:

wechat_qr

Mailing Lists:

Name Description Subscribe Unsubscribe Archive
Users User support and questions mailing list Subscribe Unsubscribe Mail Archives
Development Development related discussions Subscribe Unsubscribe Mail Archives
Commits All commits to repositories Subscribe Unsubscribe Mail Archives

About

EventMesh is a dynamic cloud-native eventing infrastruture used to decouple the application and backend middleware layer, which supports a wide range of use cases that encompass complex multi-cloud, widely distributed topologies using diverse technology stacks.

https://eventmesh.apache.org/

License:Apache License 2.0


Languages

Language:Java 96.4%Language:Shell 3.5%Language:Dockerfile 0.1%