相关疑难解决方法(0)

如何在群集中运行的节点中选择主节点?

我正在编写一个托管云堆栈(在EC2等硬件级云提供商之上),我将很快面临的一个问题是:

几个相同的节点如何决定哪一个成为主节点?(即想想在EC2上运行5台服务器.其中一台服务器必须成为主服务器,其他服务器必须成为服务器.)

我阅读了MongoDB使用的算法的描述,它看起来相当复杂,并且还取决于投票的概念 - 即单独留下的两个节点将无法做出任何决定.他们的方法在产生结果之前也有很长的延迟.

  1. 我想知道是否有任何不那么复杂的KISS-embrasing方法?它们被广泛使用,还是有风险采用?

  2. 假设我们已经有一个服务器列表.然后我们可以选择一个正在运行且具有数字最小的IP地址的那个.这种方法的缺点是什么?

  3. 为什么MongoDB的算法如此复杂?

这是如何选择群集中的新主人的副本这提供了更少的细节,并且在6个月内没有得到回答,所以我觉得开始一个新问题是合适的.

(我正在开发的堆栈是开源的,但是它处于开发的早期阶段,所以不在这里提供链接.)

更新:基于答案,我设计了一个简单的一致性算法,你可以在GitHub上找到一个JavaScript(CoffeeScript)实现:majority.js.

cloud algorithm

24
推荐指数
2
解决办法
2万
查看次数

如何在群集中选出新的Master?

我正在开发基于集群的应用程序.它基于主/从.我的问题是当主机关闭时,应该有机制选择一个从机作为主机.你们中的任何一个人都可以根据新主人应该选出的参数来讲述吗?你能建议任何有用的链接吗?

java

5
推荐指数
0
解决办法
1707
查看次数

标签 统计

algorithm ×1

cloud ×1

java ×1