Apache EventMesh 分布式事件驱动多运行时总结
EventMesh社区介绍
- 定义:Apache EventMesh (incubating) 是一个动态云原生事件驱动架构基础设施,用于解耦应用和后端中间件层,支持混合云、多技术栈的分布式架构。
- 架构模型:包含事件编排和计算、自定义数据源触发器、自定义实时处理函数,以及事件驱动WebHook。
EventMesh架构
- 核心特性:轻量客户端、标准化接口和协议、事件驱动pub/sub+,实现基础设施微服务(Http/gRPC SDK、Cache SDK、Config SDK等)的解耦。
- 技术组件:支持与MQ、Redis、Nacos等基础设施交互,通过插件化设计实现运行时与插件的解耦。
EventMesh的相关特性以及应用场景
- 插件化设计:采用SPI机制,遵循开闭原则,通过策略模式+配置文件实现标准化接口编程,便于扩展和动态加载插件。
- 应用场景:电商场景(如订单服务DSL)、Data Mesh场景(跨网络区域流量复制、跨事件存储数据传输)。
EventMesh在微众银行的应用
- 功能扩展:作为事件驱动运行时底座,增加适用于微众银行消息中间件的Connector、Trace、Metrics插件,扩展通信协议。
- 实际案例:Data Mesh跨网络区域流量复制应用,多语言SDK支持探索更多场景。
EventMesh在华为云事件网格的应用
- 运行时引擎:以EventMesh作为华为云事件网格的运行时引擎,增加可视化仪表盘、高级事件过滤等自需特性。
- 生态价值:事件驱动方式对接华为云服务、微服务应用和SaaS应用,丰富华为云开发者生态。
未来发展与规划
- 核心目标:打破数据孤岛,支持企业全联接、数字化、多云协同。
- 技术方向:支持OpenSchema、实时事件处理、事件函数、路由、补偿动作、编排;增加更多事件存储适配器(Kafka/Redis/Pulsar等)、多语言SDK(nodeJs/python等)、更多协议(gRPC/MQTT等);集成OpenTelemetry实现可观测性提升。