【发布时间】:2018-02-04 15:43:38
【问题描述】:
我们正在考虑部署一个集群数据库,我们希望在系统中增加和减少节点数量,一些系统有一个、两个或三个节点。 Percona Clustered DB 具有加权仲裁机制。我认为可以选择权重来破坏对称性,从而始终避免裂脑。但是,我找不到任何文献说这让我怀疑自己。
这就是想法。为每个节点分配以下权重之一:127 + 0、127 + 1、127 + 2、127 + 4、127 + 8、127 + 16、.. 等等。
鉴于集群中节点的两个不相交子集 a 和 b,我认为必须维护的两个要求是:
1) 如果一个子集 a 比另一个 b 有更多的节点,那么它的权重之和 w(a) , 总是大于其他集合的权重之和..
|a| > |b| --> w(a) > w(b)
2) 对称性破坏.. 给定任何两个子集,那么权重将不相等。这是避免偶数节点裂脑的要求。
|a| = |b| --> w(a) != w(b)
这种方法有什么问题吗?如果有,它们是什么?
更多问题描述...
- 理想情况下,我们应该为多个节点配置提供相同的解决方案以节省测试时间。
- 节点权重不能动态更改(它们可以.. 但这并不完全安全.. Percona 集群的限制以及可能的 quorum 算法?)。
- Percona 将在完全关闭节点后重新计算总节点权重。
【问题讨论】:
-
您的子集数量受限于用于子集的数量的大小。本质上,您为每个节点分配一位。这是否是限制取决于您的配置。
-
是的...但实际上集群中的节点数量不会很大。随着集群规模的增长,集群相互通信以保持同步的开销也会增加。因此集群大小在其他方面受到限制(取决于事物的设置方式)。我也可以选择比 127 更大的初始权重。所以在这种情况下,大小的限制不是问题
标签: algorithm cluster-computing high-availability quorum