【发布时间】:2021-12-19 01:37:51
【问题描述】:
- 法定人数是指必须就特定操作达成一致才能继续前进的服务器的多数数。
- 版本控制是每条记录的计数器。
在数据库中,如果最新版本总是会给我最新和正确的记录。 何时以及为什么应该将 Quorum 用于分布式系统。
【问题讨论】:
标签: versioning distributed-computing distributed consensus quorum
在数据库中,如果最新版本总是会给我最新和正确的记录。 何时以及为什么应该将 Quorum 用于分布式系统。
【问题讨论】:
标签: versioning distributed-computing distributed consensus quorum
Quorum 在分布式环境中是必需的,在该环境中,您正在运行一组机器,并且这些机器中的任何一台都可以接受写入/修改请求并更新数据。在这种情况下,Quorum 用于识别将接受写入的领导者或确定哪个节点可以接受给定范围的键的写入/修改请求。
让我们考虑一个场景,您有 3 个主服务器接受写入,在这种情况下,如果您想更新数据,我们可以只匹配其中一个主服务器上的版本并假设更新是安全的吗?
不,因为同时对其他主服务器的其他一些写入请求也可以假设相同,因此您最终会在不同的机器上得到不同的数据状态。
在这种情况下,您需要 quorum 来确定将接受给定数据范围的写入的领导者,然后您可以使用版本控制(乐观锁定)来确保数据在所有机器上保持一致并进行序列化。
但是,当您有一个主节点接受写入并且多个用户可能想要尝试更新数据时,版本控制很有帮助,在这里使用版本控制可以帮助您实现乐观锁定。当锁定的机会很低时,这通常很有用。
【讨论】: