Skip to content

EventMesh is a new generation serverless event middleware for building distributed event-driven applications.

License

Notifications You must be signed in to change notification settings

apache/eventmesh

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Build Status Coverage Status GitHub release License

点我查看中文版

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

The EventMesh(incubating) allows events from one application to be dynamically routed to any other application. General functions of the eventmesh:

  • Event driven;
  • Event governance;
  • Event routing;
  • Flow control;
  • Load balance;
  • Pluggable;
  • Cloud native;
  • Gateway

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, and will support gRPC in the future.
  • eventmesh-connector-rocketmq : an implementation based on OpenMessaging Connector Interface, pub event to or sub event from RocketMQ Event Store.

Protocol:

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

RoadMap

version feature
v1.0.0 Support java-sdk , tcp pub/sub, http pub
v1.1.0 Support RocketMQ as eventstore
v1.1.1 Support https
v1.2.0 Support OpenMessaging API,support Plug-in architecture, support http sub, support cloud native deploy
V1.3.0 Support CloudEvents, Event Streaming
Support Event function,triggers and bindings
Support Event orchestration, Servelss workflow
Support Event transaction
Support Event schema
Support Event governance, dashboard
Support Event security
Support multi language SDK(c\go\python\wasm)
Support Promethus as metrics
Support Skywalking as tracing
Support streaming event store
Support gRPC protocol
Support MQTT protocol

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:

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