ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

The Φ Accrual Failure Detector机制学习总结

2021-12-28 15:36:41  阅读:199  来源: 互联网

标签:置信度 Accrual worker server Failure master threshold Detector 探测


背景

众所周知,故障检测(failure detector)是分布式系统的基础模块,用于探测各种服务、节点、进程等状态。在分布式环境下应用需要调整故障检测以适用于不同的QOS需求,而传统的故障探测算法只能提供bool结果对探测进行决断。传统的探测方法主要通过周期心跳HeartBeat和超时时间Timeout处理,当在固定Timeout时间内没有收到心跳则断定该节点失效并进行相关逻辑处理。那么问题来了:这个TImeout设置为多久呢?Timeout和HeartBeat的关系如何?不同环境下网络等都可能不同,如何在不同环境下对Timeout进行设置呢?心跳信号过短是不是会造成网咯拥塞?

Accrual Failure Detector是日本的学着Naohiro Hayashibara等人提出的失败探测算法,国内暂时对该算法没有很好的中文定义,从其实现来看暂且定义为:累积型失败探测(对历史数据进行累积与分析)。

Accrual failure detector(累积型失败探测)的创新在于:产生结果是被监测的节点或服务失效(crash)的置信度(the degree of confidence),置信度是随着时间变化的连续的值。累积型失败探测通过一个固定大小窗口(WS)存储收到心跳信号的间隔时间,通过这个窗口对心跳信号均值及方差进行分析,生成一个置信度。分布式应用可以根据自身的QOS需求定义适合自己的suspicion threshold(可信度阈值),定义一个较低的threshold会导致探测到一个real creash时间短,但是其正确性不高;定义一个较高的 threshold会导致特测到real crash的时间长,但是其正确性高。

Accrual Failure Detector应用举例。在一个分布式系统中,有一个master server和多个worker server, master server需要把很多job分发到worker server上。很显然,master server需要探测worker server的状态。利用Accrual failuer detector,当某个worker server的置信度达到low threshold时,master server不向此worker server派发新的job;当置信度达到moderate threshold时,master server会把在此woker server上的job派发到其它的worker server;当置信度达到high threshold,master server会把释放关于此worker server的通信资源(比如关闭socket)。

标签:置信度,Accrual,worker,server,Failure,master,threshold,Detector,探测
来源: https://www.cnblogs.com/snake-fly/p/15159658.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有