暂无图片
Gossip和故障检测,如何保证信息传播可靠?
我来答
分享
2022-12-23
Gossip和故障检测,如何保证信息传播可靠?

Gossip和故障检测,如何保证信息传播可靠?

我来答
添加附件
收藏
分享
问题补充
4条回答
默认
最新
同同

避免依赖单点视图做出决策的方法之一是Gossip式的故障检测服务,它使用Gossip来收集和分发相邻进程的状态。

每个成员维护一个其他成员的列表:它们的心跳计数器和时间戳。时间戳列出了心跳计数器上次递增的时间。每个成员定期递增其心跳计数器,并将其列表分发给随机相邻节点。在接收到消息时,相邻节点将列表与它自己的列表进行合并,更新其他相邻节点的心跳计数器。

节点还定期检查状态列表和心跳计数器。如果任何节点在足够长的时间里没有更新其计数器,就认为它发生了故障。超时时间应当谨慎选择,以将误报的概率降至最低。成员之间通信的频率是有上限的,并且最多可以随着系统中的进程数线性增长。

通过这样的方式,我们就可以检测出崩溃的以及任何其他集群成员都无法访问的节点。这个决策是可靠的,因为集群的视图是来自多个节点的聚合。如果两台主机之间的链路出现故障,心跳仍然可以通过其他进程传播。使用Gossip来传播系统状态增加了系统中的消息数量,使得信息传播更可靠。

暂无图片 评论
暂无图片 有用 1
暂无图片
题主
2022-12-23
通过Gossip传播消息来检测故障,是故障检测服务一个重要方法。
yBmZlQzJ
2022-12-24
通过Gossip传播消息来检测故障,是故障检测服务一个重要方法。
yBmZlQzJ

避免依赖单点视图做出决策的方法之一是Gossip式的故障检测服务,它使用Gossip来收集和分发相邻进程的状态。

每个成员维护一个其他成员的列表:它们的心跳计数器和时间戳。时间戳列出了心跳计数器上次递增的时间。每个成员定期递增其心跳计数器,并将其列表分发给随机相邻节点。在接收到消息时,相邻节点将列表与它自己的列表进行合并,更新其他相邻节点的心跳计数器。

节点还定期检查状态列表和心跳计数器。如果任何节点在足够长的时间里没有更新其计数器,就认为它发生了故障。超时时间应当谨慎选择,以将误报的概率降至最低。成员之间通信的频率是有上限的,并且最多可以随着系统中的进程数线性增长。

通过这样的方式,我们就可以检测出崩溃的以及任何其他集群成员都无法访问的节点。这个决策是可靠的,因为集群的视图是来自多个节点的聚合。如果两台主机之间的链路出现故障,心跳仍然可以通过其他进程传播。使用Gossip来传播系统状态增加了系统中的消息数量,使得信息传播更可靠。

暂无图片 评论
暂无图片 有用 1
刘贵宾
真是学习了,gossip和故障检测,保证信息传播可靠
暂无图片 评论
暂无图片 有用 3
huayumicheng

避免依赖单点视图做出决策的方法之一是Gossip式的故障检测服务,它使用Gossip来收集和分发相邻进程的状态。

每个成员维护一个其他成员的列表:它们的心跳计数器和时间戳。时间戳列出了心跳计数器上次递增的时间。每个成员定期递增其心跳计数器,并将其列表分发给随机相邻节点。在接收到消息时,相邻节点将列表与它自己的列表进行合并,更新其他相邻节点的心跳计数器。

节点还定期检查状态列表和心跳计数器。如果任何节点在足够长的时间里没有更新其计数器,就认为它发生了故障。超时时间应当谨慎选择,以将误报的概率降至最低。成员之间通信的频率是有上限的,并且最多可以随着系统中的进程数线性增长。

通过这样的方式,我们就可以检测出崩溃的以及任何其他集群成员都无法访问的节点。这个决策是可靠的,因为集群的视图是来自多个节点的聚合。如果两台主机之间的链路出现故障,心跳仍然可以通过其他进程传播。使用Gossip来传播系统状态增加了系统中的消息数量,使得信息传播更可靠。

暂无图片 评论
暂无图片 有用 0
回答交流
提交
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~
暂无图片墨值悬赏