
反熵和传播
|
221
由于分布式系统的固有性质,任何节点或节点之间的链接都随时可能发生故障,从而使
这一段无法访问,并导致无法遍历树。惰性 Gossip 网络帮助节点将看到的消息通知给对
等节点,从而构造以及修复树。
图 12-5 展示了这种双重连接的示意:节点通过最优生成树(实线)和惰性 Gossip 网络
(虚线)相连。该图示不表示任何特定的网络拓扑,而仅代表节点之间的
连接
。
图
12-5
:惰性和立即推送网络。实线表示广播树,虚线表示惰性
Gossip
连接
使用惰性推送机制进行树的构建和修复的一个优点是:在负载恒定的网络中,由于最先
响应的节点会被加入广播树中,因此该算法倾向于生成一棵最小化消息延迟的树。
12.6.4
局部视图
向所有已知的对等节点广播消息、维护集群的完整视图可能会很昂贵甚至不切实际,
在
流失率
(衡量加入和离开系统的节点数量)较高时更是如此。为了避免这一代价,
Gossip 协议常常使用
对等节点采样服务
。该服务维护集群的
局部视图
,该视图定期用
Gossip 刷新。局部视图之间互相重叠,因为 Gossip 协议需要一定程度的冗余,但是过多
的冗余也意味着更多的工作负担。
例如,混合局部视图(Hybrid Partial View,HyParView)协议 [LEITAO07] 维护集群的
较小的
活跃
视图(active view)和较大的
被动
视图(passive view)。活跃视图中的节点构
成一个可用于传播消息的覆盖图。被动视图则用于维护节点列表,用于替换活跃视图中
的故障节点。
每隔一段时间,节点进行一次洗牌 ...