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.

Clone this repo:
  1. 05e3421 [ISSUE #476] Biz Exceptions occured in EventMesh cause connection close of client (#477) by lrhkobe · 9 hours ago develop
  2. 0e4def2 maybe there is no need to use atomicboolean here (#474) by YuDong Tang · 4 days ago
  3. 9e172e8 [ISSUE #374] add unit test for header class. (#472) by Zonglei Dong · 4 days ago
  4. dcfc765 [ISSUE #468] ThreadUtilTest failed (#470) by Wenjun Ruan · 4 days ago
  5. 509104b [ISSUE #465]All third part dependencies should be controlled at root build.gradle (#466) by Wenjun Ruan · 5 days ago

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

Support connecting event store:

  • RocketMQ:RocketMQ is a distributed messaging and streaming platform with low latency, high performance and reliability, trillion-level capacity and flexible scalability.

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-rocketmq : an implementation of eventmesh-connector-api, pub event to or sub event from RocketMQ as EventStore.

Protocol:

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

RoadMap

versionfeature
v1.0.0Support java-sdk , tcp pub/sub, http pub
v1.1.0Support RocketMQ as eventstore
v1.1.1Support https
v1.2.0Support pluggable event store by OpenMessaging Pub/Sub API, http sub, docker
V1.3.0Support CloudEvents, event streaming
WIPSupport more pluggable event storage (Kafka, Pulsar, Redis, etc...)
WIPSupport Event schema
WIPSupport Event governance
WIPSupport Event function,triggers and bindings
WIPSupport Event orchestration, Servelss workflow
WIPSupport in-memory event store
WIPSupport Event transaction
WIPSupport Event security
WIPSupport multi language SDK(c\go\python\wasm)
WIPSupport metrics exporter
WIPSupport tracing exporter
WIPSupport at-least-once/at-most-once delivery guarantees
WIPSupport cold event storage (S3, Minio, SQL, key/value, etc...)
WIPSupport gRPC protocol
WIPSupport MQTT protocol
WIPSupport reactive fisrt

Quick Start

  1. Build and deploy event-store(default RocketMQ), see instruction.
  2. Build and deploy eventmesh-runtime, see instruction ‘eventmesh-runtime quickstart’.
  3. Run eventmesh-sdk-java demo, see instruction ‘eventmesh-sdk-java quickstart’.

Contributing

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

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

License

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

Community

WeChat group:

wechat_qr

Mailing Lists:

NameDescriptionSubscribeUnsubscribeArchive
UsersUser support and questions mailing listSubscribeUnsubscribeMail Archives
DevelopmentDevelopment related discussionsSubscribeUnsubscribeMail Archives
CommitsAll commits to repositoriesSubscribeUnsubscribeMail Archives