ETCD学习

1,ETCD是一个键值对数据存储系统(开源,分布式)
2,用途:提供共享配置、服务发现。
3,leader选举非常优秀,leader选举更换对前端是无感知的。(raft算法)
4,读写数据在ETCD上,支持快照及查看历史事件
5,数据模型:一个持久的并发控制数据模型,适用于较小的元数据键值对的处理
功能介绍
本身状态查看(集群成员信息、集群状态、leader状态等
键值数据的读写:set,get
租约:带有Id的定时器,可以和多个存储键值关联(自动过期删除)
观察者:分布式系统中间有大量的信号同步,这个就可以做消息监听。
原子操作:条件成立使再进行操作。
事务:一系列操作任务不间断完成。(原子性,一致性,隔离性,持久性)
分布式锁:锁被持有后其余获取锁的都在等待
选举:选举集群中leader(主从)
数据存储结构是B+Tree
使用场景介绍:
1,元数据存储:kubernetes;他将状态数据全部存在ETCD上。
优点:元数据高可用,无单点故障;系统无状态,易修复故障;可水平扩展,提高性能及容量;降低架构复杂度。
2,名字服务
将许多进程(上万个)注册到etcd上,进程故障发生迁移,重新注册到etcd,使得API网关通过etcd及时感知到进程地址的变化及状态变化。
3,leader选择
4,分布式系统并发控制

架构及内部机制解析
分布式一致性解决方案:
quorum机制在分布式系统应用很多,针对大型分布式系统的可靠协调系统。zookeeper选举机制,Redis的哨兵机制都遵循此机制。
服务集群节点一般是奇数,1避免选举出现平票;2leader向follower同步数据时,必须超过半数成功,才会认为数据写入成功
故障节点 <(n+1)/2 [ETCD容忍最大故障节点不超过节点总数一半]
比如总共五个节点(N),写入(W)数据成功,这说明最大可能是有两个节点数据没有更新到最新,这时候前端请求数据(R),如果请求那两个失败的节点,数据就会出现问题。这时候只要获取了三个节点,其中肯定有一个是最新的数据数据版本号),这时候就能保证数据的一致性。(W+R = N+1)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值