zeebe原理以及组件说明
Zeebe体系结构中有四个主要组件:客户端(client)、网关(gateway)、代理(broker)和导出器(exporter)。架构图如下:Client客户端是嵌入到应用程序(例如执行业务逻辑的微服务)中以连接到Zeebe集群的库。客户端有两个主要用途:执行业务逻辑(启动工作流实例、发布消息、处理任务)处理操作问题(更新工作流实例变量,解决事件)客户端通过使用基于HT...
·
Zeebe体系结构中有四个主要组件:客户端(client)、网关(gateway)、代理(broker)和导出器(exporter)。架构图如下:
Client
客户端是嵌入到应用程序(例如执行业务逻辑的微服务)中以连接到Zeebe集群的库。客户端有两个主要用途:
- 执行业务逻辑(启动工作流实例、发布消息、处理任务)
- 处理操作问题(更新工作流实例变量,解决事件)
- 客户端通过使用基于HTTP/2的传输的GRPC连接到Zeebe网关。要了解Zeebe中有关GRPC的更多信息,请查看文档的GRPC部分。
- ZEEBE项目包括正式支持的Java和GO客户端,GRPC使得可以在不同的编程语言范围内生成客户端。社区客户端是用其他语言创建的,包括C、Ruby和JavaScript。
- 客户端应用程序可以完全独立于Zeebe进行上下扩展——Zeebe代理不执行任何业务逻辑。
Gateway
- 网关将请求代理到代理,充当Zeebe集群的单个入口点。
- 网关是无状态和无会话的,可以根据需要添加网关以实现负载平衡和高可用性。
Broker
Zeebe broker是一个分布式工作流引擎,用于保持活动工作流实例的状态。
broker可以为水平可伸缩性进行分区,并为容错性进行复制。Zeebe部署通常由多个broker组成。
需要注意的是,broker中没有应用程序业务逻辑。其唯一职责是:
- 存储和管理活动工作流实例的状态
- 向客户端分发工作项
broker构成了一个对等网络,其中没有单点故障。这是可能的,因为所有代理执行相同类型的任务,并且网络中透明地重新分配不可用代理的职责。
Exporter
exporter系统在Zeebe中提供状态更改的事件流。此数据有许多潜在用途,包括但不限于:
- 监视正在运行的工作流实例的当前状态
- 分析用于审计、商业智能等的历史工作流数据
- 跟踪Zeebe创建的事件
exporter包含一个简单的API,您可以使用它将数据流传输到您选择的存储系统中。Zeebe包括开箱即用的ElasticSearch,其他社区贡献的中间件也可用。
zeebe qq交流群群号:856546010
更多推荐
已为社区贡献13条内容
所有评论(0)