• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
导航菜单
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • windows
  • 服务器硬件
  • 服务器运维
  • 云计算
  • 虚拟化
  • IIS教程
  • Linux
  • Apache
  • Ftp
  • DNS
  • Nginx
您的位置:首页 > 服务器 >服务器运维 > RAFT基础知识

RAFT基础知识

作者:清风君 字体:[增加 减小] 来源:互联网

本文主要包含分布式,paxos实现,RAFT等服务器相关知识,清风君希望可以进行参考

  Paxos是分布式协议的标准,由美国大佬莱斯利·兰伯特提出(2013年图灵奖,现在在微软研究院,学术软件laTex开发者)。Paxos是即使基于不可靠网络也能实现分布式服务器共识一致性的算法。分布式一致性(Distributed consenseus)不再阐述。

  不过Paxos不仅仅复杂难以理解,同时也很难在工程上实现,即使强如Google,它完成的分布式锁系统Chubby(作为Paxos的实现)也曾经遭遇到许多的坑。而Raft,《InSearch of an Understandable Consensus Algorithm》,则是一个更加可实现的新的分布式协议,它从设计之初就以可理解性作为准则之一。是更加容易理解,实现的分布式一致性算法。


角色

  分布式架构中,需要有一个主服务器(master)来管理其他的从服务器,统一他们的信息和状态,每一个节点,即一个服务器,虽然功能大体相同,但是都应该有各自的角色属性,或者说角色状态。在Raft中,每个服务器都可以扮演三种角色:

  • Leader
    处理所有的客户端的交互,日志的复制等,一般只有一个Leader。
  • Candidate
    当不存在一个Leader时,可以成为一个Candidate(候选者),来竞选成为Leader。
  • Follower
    存在一个已知的Leader时,其他的节点将会自动成为Follower听从Leader指挥。

选举

  即推选一个Leader过程,当集群中不存在一个Leader时,就会有Follower成为候选者并开始选举。成为Leader需要候选者得到半数以上的票,为了以容错方式达成一致,我们不可能要求所有服务器100%都达成一致状态,只要超过半数的大多数服务器达成一致就可以了,假设有N台服务器,N/2 +1就超过半数,代表大多数了。

投票

  每一个节点都存在一个Timeout,当一个节点的Timeout到达时,若此时没有Leader,则它将成为一个候选者,并向其他的节点发出投票请求,当它获得的票数大于N/2 +1时,该节点将当上Leader,此时Leader向其他节点发出心跳包,告诉其他节点它已当选Leader,并重置其他节点的Timeout。只要Leader不掉线,网络通畅,心跳包将持续发送到其他的Follower并重置他们的Timeout, 这样不会有下一个Candidate出现。注意,每一次重置的Timeout是范围内随机的一个值,这样能够制造’先后’。

多个候选者同票

  每个节点都有一个随机的Timeout,并且候选者发出投票请求后也会重置其它Follower的Timeout(即投票过的节点不太可能再在这一次选举中成为候选者),但是仍然有可能有多个候选者同时产生并发出请求。此时先达到半数投票的候选者会成为新的Leader,若候选者得到了相同的票数,那么这些候选者会重新举行一次选举并重新获得一个随机的Timeout,当Timeout完成后候选者依旧会发出投票请求。一般来说第二次投票先成为候选者的成为Leader的可能性是最大的(两次随机值都相同的可能性极小)。当然机制已经在这,不外乎多选几次。

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • RAFT基础知识

相关文章

  • 不受制于厂商 大型机迁移概念及优势(1)
  • 戴尔助力大庆油田实现信息化数字油田
  • 远程文件服务器文件加密攻略(图)(1)
  • WSUS服务器升级为BDC后发生的问题
  • 2006中的企业管理 ISA Server
  • 戴尔12G服务器命名规则和型号分类(1)
  • 调查显示机柜部署面临难题 成本问题最受关注
  • 全新数据中心大家谈
  • 增加服务器稳定性的12种技术
  • VMware和惠普发布简化数据中心管理解决方案

文章分类

  • windows
  • 服务器硬件
  • 服务器运维
  • 云计算
  • 虚拟化
  • IIS教程
  • Linux
  • Apache
  • Ftp
  • DNS
  • Nginx

最近更新的内容

    • 数据中心和工作负载迁移:来自一线的经验之谈
    • 虚拟专用服务器(VPS)入门:安装和运行篇(1)
    • 容错没有性能瓶颈
    • 带您了解并发用户数需求分析
    • 10款超实用的服务器监控工具和软件(1)
    • 搭建集中式系统日志服务器系统指南(1)
    • 虚拟桌面存储基础:克服相关限制和瓶颈(1)
    • 跟我来用网络打印服务器
    • 服务器告警机制配置技巧 避免草木皆兵
    • 中国好服务:戴尔惠普联想之服务器篇(1)

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有