Apache EventMesh

CI status CodeCov Language grade: Java Total alerts GitHub release License

Apache EventMesh 是一个动态的云原生事件驱动架构基础设施,用于分离应用程序和后端中间件层,它支持广泛的用例,包括复杂的混合云、使用了不同技术栈的分布式架构。

特性

  • 通信协议: EventMesh 可以使用 TCP、HTTP 或 gRPC 与客户端通信。
  • CloudEvents: EventMesh 支持CloudEvents 规范作为事件的格式。CloudEvents 是一种描述事件数据的公共格式的规范,用于在服务、平台和系统之间提供互操作性。
  • Schema 注册: EventMesh 实现了schema注册,该schema注册可以接收并存储来自客户端的模式,并提供其他客户端检索模式的接口。
  • 可观察性: EventMesh 暴露了一系列metrics,例如 HTTP 协议的平均延迟和传递消息数。这些metrics可以使用 Prometheus 或 OpenTelemetry 收集和分析。
  • 事件工作流程编排:EventMesh Workflow 可以接收事件,并根据工作流定义和当前工作流状态决定触发哪个命令。工作流定义可以使用 Serverless Workflow DSL 编写。

组件

Apache EventMesh 由多个组件组成,这些组件集成了不同的中间件和消息协议,以增强应用程序运行时的功能。

  • eventmesh-runtime:中间件,在生产者和消费者之间传输事件,支持云原生应用程序和微服务。
  • eventmesh-sdk-java:支持HTTP,TCP和gRPC协议的Java SDK。
  • eventmesh-connector-plugin:插件集合,连接中间件,例如Apache KafkaApache RocketMQApache PulsarRedis
  • eventmesh-registry-plugin:插件集合,集成服务注册表,例如Nacosetcd
  • eventmesh-security-plugin:插件集合,实现安全机制,例如ACL(访问控制列表),身份验证和授权。
  • eventmesh-protocol-plugin:插件集合,实现消息协议,例如CloudEventsMQTT
  • eventmesh-admin:控制面板,管理客户端,主题和订阅。

贡献者

每位贡献者都在促进 Apache EventMesh 健壮发展方面发挥了重要作用。我们真诚地感谢所有贡献代码和文档的贡献者。以下是在 EventMesh 相关存储库中的贡献者列表。