Apache zookeeper 领袖选举:领事vs动物园管理员

Apache zookeeper 领袖选举:领事vs动物园管理员,apache-zookeeper,consul,Apache Zookeeper,Consul,我们正在选择实施领导人选举的最佳方案,以实现高可用性。我们的目标是在任何给定时间只有一个实例处于活动状态。我们使用SpringBoot来开发默认部署在Tomcat上的应用程序。很高兴听到您对以下选项的意见: 动物园管理员比领事提供更好的CP吗 关于维护/复杂性的看法?ZooKeeper基于ZAB,Consor基于Raft。两者在高层次上都是非常相似的原子广播算法。因此,就CAP的“一致性”(实际上是线性化能力,一种非常强的一致性形式)而言,两者都将提供类似的保证。它们都具有对仲裁(多数)的线性写

我们正在选择实施领导人选举的最佳方案,以实现高可用性。我们的目标是在任何给定时间只有一个实例处于活动状态。我们使用SpringBoot来开发默认部署在Tomcat上的应用程序。很高兴听到您对以下选项的意见:

动物园管理员比领事提供更好的CP吗


关于维护/复杂性的看法?

ZooKeeper基于ZAB,Consor基于Raft。两者在高层次上都是非常相似的原子广播算法。因此,就CAP的“一致性”(实际上是线性化能力,一种非常强的一致性形式)而言,两者都将提供类似的保证。它们都具有对仲裁(多数)的线性写入。默认情况下,其他节点(不在仲裁中)可能延迟更新,从而导致过时读取。这样做是因为完全线性化会使速度变慢,而且许多应用程序都有一些陈旧的读取。但是,如果在特定用例中不可接受,则始终可以在ZooKeeper中读取之前使用
sync
调用,并在Consor中使用
Consistent
模式以实现完全线性化

然而,对于服务发现,concur似乎提供了ZooKeeper中没有现成的更高级别的构造

就领导人选举用例而言,两者都可以使用

但考虑到ZooKeeper被许多顶级apache项目使用,而且它也比Raft和Consour更旧,因此我希望它能得到更好的社区支持和文档。另外,提供各种recepes的Apache文档也很棒


最后,如果您选择ZooKeeper,您可能还想使用Apache Curator,它在ZooKeeper的基础上提供更高级别的API。

您看过了吗?是的,但没有找到相关主题。对于领导人选举,我们在ZooKeeper中看到的积极方面是,许多顶级Apache项目、社区支持和文档都在使用它。从维护/复杂性比较的角度来看,我没有得到任何信息。