我们正在为实施由多个(例如3个)实例组成的服务(用Java编写)实现领导者选举的最佳选择,以实现高可用性。我们的目标是在任何给定时间只有一个实例处于活动状态。
很高兴听到您对以下选项的意见:
1)淡褐色。使用“法定人数”和一把锁,我们可以实施领导者选举。但是,我们可能会遇到裂脑问题,一段时间内可能会出现两名领导人。另外,似乎Hazelcast不支持SSL。
2)Zookeeper。我们可以在Zookeeper集成(在我们的每个服务实例上运行ZK节点)的顶部实现领导者选举。 Zookeeper是否比Hazelcast提供更好的一致性保证?它还会遭受裂脑问题吗?
3)等。我们可以使用Jetcd库,它似乎是最现代,最强大的技术。在一致性方面真的比Zookeeper好吗?
谢谢。