etcd

1,将数据存储在集群中的高可用的K-V存储

2,允许应用实时监听存储中的K-V变化

3,能够容忍单点故障 能够应对网络分区

 

原理:

 

 

 

 

 

上图5个节点的集群

2N+1   5个节点的集群大多数是N+1  3个节点 只要有3个节点能被赋值,那么这个日志就能被提交,不会被丢失

1-7日志是成功被提交的日志,8是失败的

 

 

 

上图由7个节点组成的raft节点  大多数为zn+1=7  n+1=4大多数为4

1,第一任村长为f节点而且成功赋值给了其它节点,接着down机了,然后马上重启,因为leader重启了,所以重新选举

a-f看谁运气好了,每个节点都有3个编码为1的日志,任一节点都可能成为leader,

2,从图可以看出f运气比较好第二次又被选为村长了

此时f得到3编码为2的3条日志但是马上又挂掉了,接着又重启收到编码为3的5条日志又挂了

此时f节点虽然日志多 但是成功提交的和其它节点是一样的多 编码为1的  2 ,3 没有成功提交

3,编码为4的日志可以看出e为编码为4的节点,而且成功复制了2条日志给其它节点,此时e又down机了

。。。。。。。。。。。。不一一分析了。。。。。有兴趣的可以继续分析。。。。

总结:

 

 

 

leader在down机重启后发现 已经有了新的leader 此时会拉取到新的数据发现 该数据是大多数节点认可的,就会覆盖本地的

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

实战任务:

*搭建单机etcd 熟悉命令行操作

*golang调用etcd的put/get/delete/lease/watch

*使用txn事务功能 实现分布式乐观锁

 

转载于:https://www.cnblogs.com/sunlong88/p/11294817.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值