Raft协议详解(二)服务器角色以及选主

      我们在Raft协议详解(一) 中讲到。Raft协议会将需要保证一致性的数据保存在多台服务器上,集群中存在该数据的多个副本。

      那么问题来了。客户端不会向集群中的每台服务器都发送一次数据,他只会向其中某一台发送数据,那么应该发送给谁?另外,集群中多台服务器上的数据,可能由于网络、丢包、宕机等等问题,导致同一数据的不同副本不一样,那么以谁的为准等等问题。其实在Raft中,只要了解raft中各种角色状态就可以回答上面的问题了。


Raft基本定义

      在介绍后面的内容之前,我们先进行一些Raft中的一些名词定义,以保证我们在说一下名词的时候知道什么意思。

服务器角色

      在Raft的设计中,只将集群中的服务器设计为三种状态,分别是跟随者follower、候选者candidate、领导leader。同一台服务器,可以在三种不同状态之间进行转换。接下来分别对以上三个角色的作用进行介绍。
这里写图片描述

上图中为三种状态之间的转换图。详细的我会在后面进行再介绍。现在也只是看个大概就行了。所有的服务器在刚开始的时候都是跟随者follower。一般情况下大部分服务器都处于follower状态。跟随者可以理解为master-slave结构中的slave,就像是将军领导下的小兵。follower不会主动向集群发起消息。leader负责对整个集群进行控制管理࿰

  • 4
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值