etcd raft cap 理解

etcd raft cap 理解label: cap、raft、etcd写这篇文章,主要是在smartx面试时,被CTO问到了一些顶层设计的问题,这让我感觉到自己对raft理解太浅了,或者说根本没理解清楚。首先raft的协议是做什么的?分布式共识算法,通过raft协议让各个节点保持状态一致;etcd基于raft来做的分布式kv数据库的目的是什么?etcd收zk的启发,基于raft协议开...
摘要由CSDN通过智能技术生成

etcd raft cap 理解

label: cap、raft、etcd

写这篇文章,主要是在smartx面试时,被CTO问到了一些顶层设计的问题,这让我感觉到自己对raft理解太浅了,或者说根本没理解清楚。

首先raft的协议是做什么的?

分布式共识算法,通过raft协议让各个节点保持状态一致;

etcd基于raft来做的分布式kv数据库的目的是什么?

etcd收zk的启发,基于raft协议开发的。分布式etcd能够带来什么优势呢?HA,etcd的HA表现在多节点能够对外提供数据一致的服务,同时在发生节点宕机、网络分区等,etcd集群整体仍能对外提供服务。

通过etcd的HA,我们明白raft协议的目的是,提供HA的环境下的一致性数据。而不是,之前乱向的提高读性能。

从其设计出发点,应该明白etcd提供的kv不适合对读写性能要求特别高的场景,它比较适合量小,但需要可靠的一致性数据存储服务,比如存储配置数据,在k8s中etcd用来存储集群的元数据。

网络分区对etcd的影响,以及节点数量对于服务的影响?

以5(ABCDE,A:leader)节点的etcd集群为例,发生网络分区AB|CDE:
AB部分,leader A向followers发送心跳,但无法获得大多数节点的响应,timeout后,进入选举阶段,AB都无法获得大多数的节点投票(因为和CDE分区,5节点下大多数要求包括

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值