【50】Camunda8-Zeebe核心引擎-核心架构

Zeebe核心架构包4个主要内容:Clients、Gateways、Brokers、Exporters。

Clients

客户端发送命令到Zeebe来实施,

  • 部署流程
  • 执行业务逻辑
    • 启动流程实例
    • 发布消息
    • 激活作业
    • 完成作业
    • 失败的作业
  • 处理运营问题
    • 更新流程实例变量
    • 解决事件

客户端应用程序可以独立于Zeebe进行纵向扩展和缩减。Zeebe brokers不执行任何业务逻辑。

客户端是用户嵌入到应用程序(例如执行业务逻辑的微服务)中以连接到 Zeebe集群的组件/依赖库。

客户端通过gRPC连接到Zeebe网关,该网关使用基于HTTP/2的传输。若要详细了解Zeebe中的gRPC,请查看Zeebe API(gRPC)

Zeebe项目包括官方支持的Java和Go客户端。Zeebe社区也提供其他语言的客户端,包括 C#、Ruby 和 JavaScript。gRPC协议使生成一系列不同编程语言的客户端成为可能。

Job Workers

Job workers是一个Zeebe客户端,它使用客户端API首先激活作业,完成后,提交作业的完成或失败状态。

Gateway

Zeebe网关充当Zeebe集群的单个入口点,并将请求转发给broker。网关是无状态和无会话的,可以根据需要添加网关以实现负载均衡和高可用性。

Zeebe Gateway网关是Zeebe集群的一个组件;它可以被视为Zeebe集群的联系点,它允许Zeebe客户端与Zeebe集群内的Zeebe brokers进行通信。

Brokers

Zeebe broker是分布式工作流引擎,用于跟踪活动流程实例的状态。

broker可以分区以实现水平可伸缩性,也可以复制以实现容错。Zeebe部署通常由多个broker组成。

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

  • 处理客户端发送的命令
  • 存储和管理活动流程实例的状态
  • 将作业分配给作业工作人员(处理人)

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

需要注意,Zeebe broker将数据划分为分区(分片),并使用 RAFT 进行复制。

Exporters

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

  • 监视正在运行的流程实例的当前状态
  • 用于审计分析、商业智能分析等的历史流程数据。
  • 跟踪Zeebe创建的事件

Exporter包括一个API,可以使用该API将数据流式传输到用户选择的存储系统中。Zeebe包括一个开箱即用的Elasticsearch导出器,其他社区贡献的导出器也可用。

Zeebe附带了两个Exporters:Elasticsearch 和 OpenSearch。文档的这一部分介绍了如何配置这些导出器。


需要注意Zeebe不支持NFS,使用NFS可能导致数据损坏。

      

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值