zookeeper 3 总结 主要说的是如何实现业务方面的分布式事务。还有自身集群同步的方式,都是2pc

1,2 的回顾
①集群(zoo.cfg,myid)
②znode 节点的数据模型 、
特性(有序,临时(断开消失,不能有子节点,不能重复在一个级别的)
③节点的stat 一些参数的以一cZxid

zookeeper的由来详细

比如现在有
zookeeper解决的问题

分布式的一个协调机制

新的方式引入zookeeper
1,我们用到zookeeper就要防止单点故障(使用集群) 集群特点:高可用,高性能。
2,保持每台数据的一致性
3,如果leader挂了,怎么办
4,如果实现分布式事务(2pc)方式

2pc 示意图
在这里插入图片描述

为什么是2n+1台服务器。要过半数 如果是5台,最多可以挂掉2台,如果是6台,最多也是挂掉2台

集群整体工作图
在这里插入图片描述
从客户端或者是follower传过来的请求,leader会将请求的数据封装成一个zxid (64位的唯一)
2,将有这个id 的proposal对象给每个follower ,每个节点去修改数据。写入本地磁盘,
3,给leader一个反馈,是失败还是成功了
4,当leader收到过半成功的反馈之后,再给每个follower。告诉他们可以提交了。

如果在4的过程中leader挂了,也就是一部分follower收到了,一步分没有收到。怎么办?
同步到follower的消息,就保存,如果没有,那么就放弃。

以上这个是集群自身同步的2pc

ZAB协议
主要干嘛用的:
重新选举一个leader 就是这么一个作用。具体怎么选,就是实现的问题了。
通过一个zxid 的方式, epoch,这个就是新的leader会+1,
保证集群整体同步 特殊情况(在执行事务的时候挂掉了,怎么办)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值