16、分布式系统中的位置独立性与不可变运行时

分布式系统:位置独立性与不可变运行时

分布式系统中的位置独立性与不可变运行时

1. 数据合并与一致性

在分布式系统中,数据的修改可能存在部分顺序。当图中的两个叶子节点不存在因果关系时,我们需要合并这两组属性展示给用户。此前基于拼接的合并方式会产生包含两个名称和两个电话号码的联系人信息。但借助图结构,我们能找到两个叶子节点的最近共同祖先。通过比较左分支与最近共同祖先,发现本地用户仅修改了名称;比较右分支可知,远程用户仅修改了电话号码。因此,我们可以进行更合理的合并,展示最新的名称和电话号码,如:

name: “Robert”
phone: “867-5309”

这种三方合并仅在展示时进行,历史记录集(或图)不会被修改。所有节点以相同方式进行三方合并,因为它们拥有相同的图,所以会计算出相同的结果。即使历史记录包含无因果关系的记录,也不会产生冲突,所有节点最终会收敛到相同的值。

2. 无冲突复制数据类型(CRDTs)的约束

CRDTs 的要求足以证明强最终一致性。我们构建的数据结构确保所有更新交换后,每个节点都会收敛到相同的状态,节点无需额外通信即可达成共识。为维护强最终一致性,我们必须接受两个约束:
- 无法保证单一后继 :对于任何给定事实,不能保证只有一个后继。合并操作不允许这样做,排除其他后继需要投票,系统需要中央权威、选举出的主节点、共识算法或工作量证明来维持这一保证,这并非无冲突复制数据类型的规则所产生的。
- 不能基于及时性解释历史 :一些节点会比其他节点更早得知更新。例如,节点可能尝试通

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值