Zeebe Docs翻译:2.9 集群
温馨提示:
本文最后更新于 2019年10月08日,已超过 1,871 天没有更新。若文章内的图片失效(无法正常加载),请留言反馈或直接联系我。
Zeebe可以作为经纪人集群运行,形成对等网络。在这个网络中,所有经纪人都承担着相同的责任,没有单点故障。
Gossip会员协议(Gossip Membership Protocol)
Zeebe实现了Gossip协议,以了解哪些代理当前是集群的一部分。
使用一组众所周知的引导代理来引导群集,其他代理可以连接到该代理。为此,每个代理必须在其配置中至少具有一个引导代理作为其初始联系点:
[network.gossip]
initialContactPoints = [ "node1.mycluster.loc:26502" ]
当代理首次连接到集群时,它将从初始接触点获取拓扑,然后开始与其他代理闲聊。代理在重新启动后将群集拓扑保留在本地。
Raft共识和复制协议(Raft Consensus and Replication Protocol)
为了确保容错能力,Zeebe使用Raft协议跨机器复制数据。
数据分为多个分区(碎片)。每个分区都有许多副本。在副本集中,领导者由筏协议确定,筏协议接收请求并执行所有处理。所有其他经纪人都是被动的追随者。当领导者不可用时,关注者透明地选择一个新的领导者。
对于不同的分区,集群中的每个代理可以同时是领导者和跟随者。这样,客户端流量将在所有代理之间平均分配。
Commit
在处理分区上的新记录之前,必须将其复制到法定人数(通常为多数)的关注者中。此过程称为commit。提交可确保即使在单个代理上完全丢失数据的情况下,记录也是持久的。提交的确切语义由筏协议定义。
正文到此结束
- 本文标签: 其他
- 本文链接: https://www.v8en.com/article/192
- 版权声明: 本文由SIMON原创发布,转载请遵循《署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0)》许可协议授权