在节点集群中选择领先节点的最佳方法/算法是什么?知道节点在任何时候都会出现和停止?如果实现在Java中可用,则它是一个优点。自动选择节点集群中的领导者
4
A
回答
6
我已经在Java中实现了Paxos算法。这非常有用,而且相当简单。 (花了大约16个小时来完成它的演示,使用Threads来模拟服务器,然后我的线程也变得更糟!)
它不会帮助你完全选择领导......但是它是什么将做的是允许各个节点就领导者达成一致。所以你有这个领导者选择算法,但是因为每个节点都会选择它自己的节点来领导,所以你可能会在你的节点之间发现一场“内战”。 Paxos算法允许你说哪个领导者是真正的领导者。
+0
谢谢。我有关于Paxos实现的问题,但我会创建一个单独的问题。 – JVerstry 2011-05-01 17:41:47
1
-1
一些选项:
- Hazelcast - Cluster leader election with Spring Integration and Hazelcast。
- JGroups - Cluster leader election with JGroups
- Apache ZooKeeper - Cluster leader election with ZooKeeper。
我已经亲自实施了Hazelcast和JGroups,并且说这两个都相当直接简单。对于一个新项目,我会和Hazelcast一起去。
相关问题
- 1. 领导者选择
- 2. AWS中的Docker化Elasticsearch集群 - 每个节点选择自己
- 3. 海龟群体的领导者选择NetLogo
- 4. 乌龟群体的领导者选择(NetLogo)
- 5. 从领事“否群集的领导者”恢复状态
- 6. 自动设置多节点Hadoop集群
- 7. 节点在SOLR中出现故障后未选举领导者
- 8. 节点群集
- 9. 如何更改etcd群集中的领导者?
- 10. Zookeeper Node选择领导者的策略?
- 11. 选择Quartz集群中的节点来执行作业
- 12. 码头上的领事集群自动引导
- 13. Dynatree:选择节点时自动选择所有兄弟节点
- 14. Consul代理如何知道它是集群的领导者?
- 15. 节点群集和/或Docker群集?
- 16. 单节点群集在多节点群集上工作?
- 17. 将2节点cassandra集群转换为1节点集群
- 18. 2节点的Cassandra集群
- 19. Hadoop的2节点集群
- 20. 从节点选择中选择节点
- 21. 在开发人员或测试群集(单节点群集)上还原Cassandra快照(来自3节点群集)
- 22. 删除选定节点后自动选择父节点
- 23. 无法启动MySQL集群SQL节点
- 24. 动态添加节点到Phoenix群集
- 25. Percona Xtradb群集节点不会启动
- 26. 无法启动MySQL集群SQL节点
- 27. 群集群领事设置
- 28. 领导者选举SolrCloud + Zookeeper
- 29. RabbitMQ消费者从集群中不同节点读取
- 30. 当领导人死亡时更改动物园管理员群集领导
你是什么意思的“领先”?你能提供更多关于'node'是什么意思的细节吗? – 2011-04-28 20:44:44
这不是严重依赖于您的使用场景吗?我的意思是你的用例中的领导者意味着什么?集群中间的那个?最大的?最小的? – pintxo 2011-04-28 20:45:55
在多节点网络中,领导是哪个节点将拥有权威数据。即他们的数据比你的数据更好。例如,如果您向节点A提交数据,则必须将该数据发送到节点B和C.如果I(1纳秒后)向节点D提交数据,在它有机会从A到达B和C之前,需要有一种方法来知道我的数据更好。在这种情况下,D是领导者节点,因为它具有最新的数据写入。 – corsiKa 2011-04-28 20:49:00