怎么理解协议流程

发布时间:2021-11-23 18:05:55 作者:柒染
来源:亿速云 阅读:140

怎么理解协议流程,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

-     引文    -

咱们上文整体的介绍了下Raft协议,Raft协议分区容忍的一致性协议的核心思想:一致性的保证不一定非要所有节点都保持一致,只要大多数节点更新了,对于整个分布式系统来说数据也是一致性的。Raft 协议将概念分解成:Leader election、Log replication、Safety。Raft 把一致性协议划分为 Leader 选举、MemberShip 变更、日志复制、Snapshot 等几个几乎完全解耦的模块,实现了模块化设计。

Raft 设计原则是通过减少状态数量将状态空间简化:

-     领袖选举    -

Raft协议为了保证Leader的健壮性,使用了以下技术保证选举的简单化实现:

 怎么理解协议流程

Raft协议为了保证选举投票的有效性,规定了一系列的投票原则:


Raft 整体选举流程如下:


-     日志复制    -

Raft 协议定义的日志格式如下:

(TermId, LogIndex, LogValue)其中 (TermId, LogIndex) 能确定唯一一条日志

Raft 协议 复制策略规定一系列的原则:

Followers 日志有效性检查:

Followers 日志恢复:

Raft协议的日志复制完整流程如下:

怎么理解协议流程


-     安全性   -

Radt协议通过一系列的规范定义,保证了整个Raft机制的数据的顺序一致性。整体原则如下:

通过上述的规范定义,我们可以通过一些异常场景来突出Raft协议的安全性:

当某台追随者死机时,所有给它的转发指令和拉票的消息都会因没有回应而失败,此时发送端会持续重送。当这台追随者引导重新加入集群,就会收到这些消息,追随者会重新回应,如果转发的指令已经写入,不会重复写入。

领袖死机或断线时,每个已存储指令必定已经写入到过半的服务器中,此时选举流程会让记录最完整的服务器胜选。其中一个因素是Raft候选人拉票时会揭露自己记录最新一笔的信息,如果服务器自己的记录比较新,就不会投票给候选人。

因为Raft引导选举是基于超时,使得超时期限的选择至为关键。若遵守算法的时限需求:广播时间 << 超时期限 << 平均故障间隔。这三个时间定义如下:

广播时间典型是 0.5ms 到 20ms,平均故障间隔通常是用周或月来计算的,所以可以将超时期限设在 10ms 到 500ms。

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注亿速云行业资讯频道,感谢您对亿速云的支持。

推荐阅读:
  1. SSH协议原理解析
  2. ip端口协议怎么理解

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

raft

上一篇:Window下Python+CUDA+PyTorch怎么安装

下一篇:c语言怎么实现含递归清场版扫雷游戏

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》