Partitions分区
在Zeebe中,所有数据都是基于分区的。(一个)分区本质上是一个关于流程事件的持久化流。在broker集群中,分区分布在节点之间,因此可以将其视为分片。启动/初始化Zeebe 集群时,用户可以配置所需的分区数。如果使用过Kafka,这部分内容是比较相似的。
每当部署流程时,都会将其部署到第一个分区。然后,该流程将分发到所有分区。在所有分区上,此流程接收相同的key和版本,以便可以一致地识别它。
当您启动流程的实例时,客户端库会将请求路由到发布该流程实例的一个分区。流程实例的所有后续处理都会发生在该分区中。
通过分区进行分配
在某分区中创建流程实例时,其状态由该分区存储和管理,直到其执行终止。而选择哪个分区来创建它,这是由各种因素决定:
- 当客户端发送命令CreateProcessInstance或CreateProcessInstanceWithResult时,网关会以循环方式选择一个分区,并将请求转发到该分区。此时,流程实例将在该分区中创建的。