如果我有将数据写入存储的系统。
在集群设置中,如果数据是同步复制的,那就是当我收到更改在所有节点上更新的数据的请求时,然后返回响应。
在这种情况下是否可以动态添加节点?
也就是说,假设有 2 个节点,并且在该集群上执行了一些事务。我可以添加一个集群仍在运行的第三个节点吗?
如果我这样添加一个新节点,是不是破坏了集群的强一致性?
如果我有将数据写入存储的系统。
在集群设置中,如果数据是同步复制的,那就是当我收到更改在所有节点上更新的数据的请求时,然后返回响应。
在这种情况下是否可以动态添加节点?
也就是说,假设有 2 个节点,并且在该集群上执行了一些事务。我可以添加一个集群仍在运行的第三个节点吗?
如果我这样添加一个新节点,是不是破坏了集群的强一致性?
我相信您正在寻找的是一致的散列(维基百科),它允许您以某种方式分配内存,以便数据在多个节点之间正确复制,并且添加或删除节点的相关开销更少,我建议您去通过链接一致性哈希的简单魔法
一个简单且示意性的示例(只是许多可能的变体之一):
可能的调整: