原创

Zeebe Docs翻译:2.1 架构

Zeebe的体系结构包含四个主要组件:客户端,网关,代理和导出器。

zeebe体系结构

客户端

客户端是您嵌入应用程序(例如,执行业务逻辑的微服务)中以连接到Zeebe集群的库。客户有两个主要用途:

  • 执行业务逻辑(启动工作流实例,发布消息,处理任务)
  • 处理操作问题(更新工作流实例变量,解决事件)

有关Zeebe客户的更多信息:

  • 客户端通过gRPC连接到Zeebe网关,后者使用基于http / 2的传输。要在Zeebe中了解有关gRPC的更多信息,请查看docsgRPC部分
  • Zeebe项目包括官方支持的Java和Go客户端,而gRPC使得可以使用多种不同的编程语言生成客户端。社区版客户端已经用其他语言创建,包括C#,Ruby和JavaScript。
  • 客户端应用程序可以与Zeebe完全分开地扩展和缩小-Zeebe经纪人不执行任何业务逻辑。

网关

代理向代理发出请求的网关用作Zeebe集群的单个入口点。

网关是无状态和无会话的,可以根据需要添加网关以实现负载平衡和高可用性。

代理(Broker)

Zeebe代理是分布式工作流引擎,可保持活动工作流实例的状态。

可以对代理进行分区以实现水平可伸缩性,并且可以对代理进行复制以实现容错能力。Zeebe部署通常将包含多个代理。

重要的是要注意,代理中没有应用程序业务逻辑。它的唯一职责是:

  1. 存储和管理活动工作流程实例的状态

  2. 向客户分配工作项

代理形成对等网络,其中没有单点故障。这是可能的,因为所有代理都执行相同类型的任务,并且在网络中透明地重新分配了不可用代理的职责。

导出器

导出器系统在Zeebe中提供状态更改的事件流。该数据具有许多潜在用途,包括但不限于:

  • 监视正在运行的工作流实例的当前状态

  • 分析历史工作流数据以进行审计,商业智能等

  • 跟踪由Zeebe创建的事件

导出器包括一个简单的API,您可以使用该API将数据流式传输到您选择的存储系统中。Zeebe包括一个现成的Elasticsearch导出器还提供了其他由社区贡献的导出器。

正文到此结束
本文目录