Apache EventMesh 概述
Apache EventMesh 是一个完全无服务器的平台,用于构建分布式事件驱动应用程序。上个月,它已成功晋升为 Apache 软件基金会的顶级项目。
主要特点
- 发布/订阅模式:EventMesh 使用发布/订阅模式,为各种组件和应用程序提供无服务器、事件驱动能力。
- 事件网格:事件网格是由事件代理组成的网络,使事件信息能够在企业内的应用程序、云服务和设备之间分发。
- 兼容性:基于 CloudEvents 规范,EventMesh 与其他基于云的系统和应用兼容。
- 可扩展中间件:通过连接器,EventMesh 兼容多种消息系统和数据存储,如 Apache RocketMQ、Apache Kafka、Apache Pulsar、RabbitMQ 和 Redis。
- 过滤和转换能力:用户可以根据事件的内容和元数据选择性路由和转换事件。
- 无服务器工作流引擎:用户可以使用该引擎构建具有复杂编排的可扩展事件驱动应用程序。
开发支持
- SDK:EventMesh 提供 Java SDK,支持在 TCP、HTTP 和 gRPC 协议下发送和接收同步、异步和广播消息。SDK 实现了 EventMesh Message、CloudEvents 和 OpenMessaging 格式。
- Rust 支持:自 1.7.0 版本起,EventMesh 增加了对 Rust 语言的支持。
事件编排
EventMesh 使用 Serverless Workflow DSL 来描述其工作流。CNCF Serverless Workflows 定义了一个供应商中立、开源、完全社区驱动的生态系统,用于定义和执行针对无服务器技术领域的基于 DSL 的工作流。工作流由一组状态组成,用于描述控制流逻辑,并使用 AsyncAPI 规范进行描述。
历史背景
Apache EventMesh 最初由中国微众银行开发,并于 2019 年 9 月在 GitHub 上首次开源。它是第一个进入 Apache 孵化器的中国金融科技项目。
Apache 软件基金会
Apache 软件基金会成立于 1999 年,是世界上最大的开源基金会,管理着超过 2.27 亿行代码,并提供价值超过 220 亿美元的软件,全部免费。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用。你还可以使用@来通知其他用户。