raft的理解

CAP理论
consist assistance part
一致性 可用性 分区容错性
CAP只能实现两个
根据你的业务需求进行组合
一般用的多的是AP 但是要实现最终的一致性
CP一般在银行转账的时候需要实现强一致性
分区容错是必须要实现的
Nacos可以是AP也可以是CP的,底层有一致性协议层,面向接口编程 看你实现的算法是raft还是阿里的

分布式的共识问题:拜占庭将军问题
raft算法是比paxois更易于理解和实现的算法
可以实现强一致

raft里面的概念:从节点,候选人节点,领导节点 。 三个节点可以升级或者降级
任期:标志最新的领导和之前的领导,说明顺序关系,每选出一个领导会加一

领导的选举:follow节点如果没有受到主节点响应(ping),就升级为候选人,首先给自己投一票,发起投票,任期加一。发起请求让别人都给自己投票,比任期,如果对方的的任期比你新,会让你下课。半数以上则当选,然后给别的节点发送ping信号
票数相同选不出新的leader,然后重新选举,如果候选人没有别的从节点时间短,也会是从节点变成候选人
集群搭建的时候不建议偶数节点,因为平票的情况会比奇数节点多

日志复制:如何保持数据的一致性
数据先不提交 主节点先发送到从节点,发送成功之后再提交

对于集群的常见问题处理原理:脑裂,数据处理的最终一致性问题(考虑所有极端情况)
脑裂:网络分区之后断开链接(脑子裂开) 同时双主节点
根据任期可以把数据重新输入暂停的节点。
少数的中断的节点无法获得半数以上的投票,那么无法成为主节点,恢复之后主节点会让候选人下课

极端情况:主节点宕机
apply通知发送之后leader挂了
领导人完全原则:把上一个领导节点没有完成的给完成了

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值