ETCD读写处理

轻量、高可用的分布式组件,分布式系统协调和元数据存储

1、高可用:一半节点存活就可以提供服务

2、一致性:leader选举,日志复制,同步数据

3、watch机制

4、运维复杂性低

Etcd的读写处理

写请求:log同步、状态机维护

读请求:线性一致性

L=leader,F=follower(从节点)

写请求:

 1、客户端发起修改数据请求,v=3

2.1、leader以日志的形式将修改请求下发给从节点

3.1,3.2、从节点收到这个事件,先将日志保存到节点的日志文件中,保存成功后,会给leader回复一个响应v=3这个事收到了,但是还有没改

4.1、Leader回复客户端,修改v=3这个事成功了,当所有的从节点都回复leader,修改事件的日志记录成功了,然后leader节点开始提交这个修改,当leader修改成功后,会告诉从节点也修改数据

此时不一定所有节点的v都等于3,如果客户端请求leader,那v=3,请求从节点,不一定返回3

读请求:

 当客户端请求到从节点的时候,从节点会从leader获取当前值最新的commit-index,然后和本地的对比,如果index是最新的,就直接将结果返回给客户端;

如果不一致,从节点要等待自己的状态机把最新的状态都变更了,将变更后的值回给客户端;

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值