The Wayback Machine - https://web.archive.org/web/20210301155015/https://github.com/WeBankFinTech/EventMesh
Skip to content

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.

develop
Switch branches/tags
Go to file
Code

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
Apr 28, 2020
Oct 16, 2020

README.md

Build Status Coverage Status GitHub release License

点我查看中文版

What is Event Mesh?

This figure shows the positioning of the event mesh relative to other similar technologies (such as service mesh) in the application framework.

architecture1

Event Mesh is a dynamic plug-in cloud-native basic service layer used to decouple the application and middleware layer. It provides flexible, reliable and fast event distribution, and can be managed.

architecture1

Cloud Native Event Mesh:

architecture2

The event mesh allows events from one application to be dynamically routed to any other application. General functions of the event mesh:

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

Support connecting event stores:

  • DeFiBus : a distributed messaging platform with low latency, high performance and reliability, flexible scalability. DeFiBus
  • RocketMQ

Key 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-registry : automatically routes events between applications and services connected to seperate event meshers, manage eventmesh-runtime
  • eventmesh-connector-defibus : an implementation based on OpenMessaging Connector Interface, pub event to or sub event from DeFiBus Event Store
  • 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 DeFiBus as eventstore, support java-sdk , tcp pub/sub, http pub
v1.1.0 Support RocketMQ as eventstore
v1.1.1 Support https
v1.2.0 Support Plug-in architecture, support http sub
V1.3.0 Support cloud event protocol
Support Event transaction
Support Event filter
Support Promethus as metrics
Support multi language SDK(c\go\python\wsam)
Support Event orchestration
Support Event governance
Support Skywalking as tracing
Support Spiffe as security
Support Event replay
Support openmessaging-storage-dledger as default event store
Support Dashboard
Support schema registry
Support gRPC protocol
Support MQTT protocol
Support routing functions with triggers and bindings

Quick Start

  1. Build and deploy event-store(DeFiBus), see instruction 'event-store quickstart'.
  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

Contacts

WeChat group:

wechat_qr

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.

Topics

Resources

License

Packages

No packages published