Partitions分區
在Zeebe中,所有數據都是基于分區的。(一個)分區本質上是一個關于流程事件的持久化流。在broker集群中,分區分布在節點之間,因此可以將其視為分片。啟動/初始化Zeebe 集群時,用戶可以配置所需的分區數。如果使用過Kafka,這部分內容是比較相似的。
每當部署流程時,都會將其部署到第一個分區。然后,該流程將分發到所有分區。在所有分區上,此流程接收相同的key和版本,以便可以一致地識別它。
當您啟動流程的實例時,客戶端庫會將請求路由到發布該流程實例的一個分區。流程實例的所有后續處理都會發生在該分區中。
通過分區進行分配
在某分區中創建流程實例時,其狀態由該分區存儲和管理,直到其執行終止。而選擇哪個分區來創建它,這是由各種因素決定:
- 當客戶端發送命令CreateProcessInstance或CreateProcessInstanceWithResult時,網關會以循環方式選擇一個分區,并將請求轉發到該分區。此時,流程實例將在該分區中創建的。