分布式应用提效框架 Apache EventMesh
如果无法正常显示,请先停止浏览器的去广告插件。
1. Apache EventMesh(incubating):
事件驱动分布式应用运行时
陈广胜
Apache EventMesh(incubating) Founder&PPMC
微众银行技术专家
2.
3. • Why
Event-Driven?
• What is EventMesh?
• Why EventMesh?
• EventMesh core features
• EventMesh in webank
• EventMesh in other scenarios
• EventMesh ecosystem
• EventMesh future
4. Message Vs Event
• Messages - Updates that are directly sent from one
service to another.
• Events - Updates that occur at a specific time and
are not tied to any specific recipient or client.
5. Real-time intelligence and 'lossless' business activity analysis
6. EventMesh Architecture
7. REST-Driven Vs Event-Driven
•
•
•
•
•
•
•
Pros
REST-Driven Systems
Cons
Tooling and documentation
• Built on request-reply communication assumptions. Synchronous in
Industry adoption and support
nature.
Simplicity of implementation
• Point-to-point communication through the adoption of a client-server
architecture and reliance on HTTP leading to tight coupling in
microservices architectures resulting in a distributed monolith.
• REST lock-in. If microservices communicate using REST, that will be the
main form of communication preventing interoperability with non-REST
applications.
Event-Driven Systems
Pros
Cons
Eventual consistency. The reason why I see this as a pro is because an • Complexity of handling asynchronous messages when using primitive
event-driven system promotes a guaranteed high availability of the data
event brokers. This complexity can be minimized by using an advanced
where eventually all microservices in the system will receive the last
event broker.
updated value of the data.
• Coupling with the messaging infrastructure.
Reduced coupling between microservices; a message sender does not
need to know about any consumer. The only coupling in EDA is a topic
hierarchy structure.
Loose coupling of applications instead of point-to-point relationships,
resulting in easier scaling of the system.
Load leveling and shock absorbing though queuing mechanisms.
8. ServiceMesh Vs EventMesh
9. Using Both Service Mesh and Event Mesh for Microservices
10. EventMesh makes simple
11. Feature: Pub/Sub+
12. Feature: Choreography
13. CPU is Not a Good Metric for Scaling Event-Driven Microservices
14. Feature: Better Metric for Scaling
15. Feature: Event Streaming
16. Feature: State Abstraction
17. Feature: Schema
18. Feature: Wasm runtime
19. EventMesh in WeBank Message Bus https://github.com/webankfintech/defibus
APP
APP
APP
APP
EventMesh
APP
APP
MQ
APP
APP
APP
EventMesh
APP
APP
APP
EventMesh
APP
APP
APP
APP
APP
APP
20. Other Scenario 1: Event-Driven Data Mesh
21. Other Scenario 2: EventMesh for Data Lake
Hydration
22. Other Scenario 3: Decentralized Data Economy
23. Other Scenario 3: Decentralized Data Economy
24. EventMesh Ecosystem
25. EventMesh Future
•
•
gRPC/CloudEvents
Dynamic Routing, federated, serverless
workflow
standard transfer and codec protocol
•
•
•
Choreography
•
Event Streaming
Support real time event processing
•
•
OpenTelemetry
Tracing,Logging,Metrics
•
•
OpenSchema
Avro\JSON\ProtoBuf……
•
WASM runtime
• Multiple language SDK
• c\go\python ……
• More Protocols
• MQTT\AMQP\WebSocket ……
• Support more event store
• Kafka/Redis/Pulsar, blockChain, cold storage ……
26.
27. EventMesh助手
EventMesh公众号
• https://github.com/apache/incubator-eventmesh
• https://gitee.com/WeBank/EventMesh
• https://github.com/webankfintech/defibus
• https://gitee.com/WeBank/DeFiBus