zeebe体系
Zeebe体系
Zeebe的体系结构包含四个主要组件:客户端,网关,代理和导出器。
客户
客户端是您嵌入到应用程序(例如,执行业务逻辑的微服务)中以连接到Zeebe集群的库。客户有两个主要用途:
- 执行业务逻辑(启动工作流实例,发布消息,处理任务)
- 处理操作问题(更新工作流实例变量,解决事件)
有关Zeebe客户的更多信息:
- 客户端通过gRPC连接到Zeebe网关,后者使用基于http / 2的传输。要在Zeebe中了解有关gRPC的更多信息,请查看docs的gRPC部分。
- Zeebe项目包括官方支持的Java和Go客户端,而gRPC使得可以使用多种不同的编程语言生成客户端。社区客户端已经使用其他语言创建,包括C#,Ruby和JavaScript。
- 客户端应用程序可以与Zeebe完全分开地进行缩放-Zeebe经纪人不执行任何业务逻辑。
网关
代理向代理发出请求的网关用作Zeebe集群的单个入口点。
网关是无状态和无会话的,可以根据需要添加网关以实现负载平衡和高可用性。
代理
Zeebe代理是分布式工作流引擎,可保持活动工作流实例的状态。
可以对代理进行分区以实现水平可伸缩性,并可以对其进行复制以实现容错能力。Zeebe部署通常将由多个代理组成。
重要的是要注意,代理中没有应用程序业务逻辑。它的唯一职责是:
- 存储和管理活动工作流程实例的状态
- 向客户分配工作项
代理形成对等网络,其中没有单点故障。这是可能的,因为所有代理都执行相同类型的任务,并且在网络中透明地重新分配了不可用代理的职责。
导出器
导出器系统在Zeebe中提供状态更改的事件流。该数据具有许多潜在用途,包括但不限于:
- 监视正在运行的工作流实例的当前状态
- 分析历史工作流数据以进行审计,商业智能等
- 跟踪事件的Zeebe创建
导出器包括一个简单的API,您可以使用该API将数据流式传输到您选择的存储系统中。Zeebe包括一个现成的Elasticsearch导出器,还提供了其他由社区提供的导出器。
相关教程
- 2021-01-09
- 2021-01-09
- 2021-01-09
- 2020-12-22
- 2020-12-22
- 2020-12-22
- 2020-12-21
- 2020-12-19
- 2020-12-19
- 2020-12-19