分布式技术与zookeeper

本文深入探讨分布式架构的核心特点与挑战,详细解析两阶段提交协议及其缺点,并引入三阶段提交协议以优化性能。接着,文章引入Paxos一致性协议,阐述其前提、目标及在分布式系统中的应用,最后讨论Zookeeper与Paxos的关系。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1  分布式架构的特点与问题






2  一致性协议

两阶段提交协议(2PC)

1. 由协调者向每个参与者发起事务请求,然后执行逻辑操作,协调者等待参与者的执行结果

2.协调者根据每个参与者第一步的执行结果,决定是否提交整个事务

2.1 如果有一个以上参与者在第一步返回false,则协调者在所有参与者上rollback事务

2.2如果第一步的所有参与者都返回true,则协调者要求对所有参与者执行commit(如果参与者没有收到协调者的提交事务请求,将不提交)


2PC的缺点:

1.同步阻塞,事务的执行时间取决于最慢的那个参与者,在此之前,全部参与者都被阻塞了

2.单点问题,协调者是一个单点,难以多点实现,一旦协调者出现故障,整个提交将无法使用

3.存在数据不一致的风险,如果因为网络故障等因素,一部分参与者收到了commit请求,而另外一部分参与者没有收到,则导致事务提交不一致,导致数据不一致。

4.

三阶段提交(3PC)

三阶段提交将2PC的第一阶段分成了两步:

1.协调者向每个参与者发起包含事务内容的事务探寻,询问各个参与者能否执行事务,参与者向协调者反馈结果

2.1 如果所有参与者都能够执行事务,则协调者请求各个参与者进行事务执行,然后参与者将执行状态反馈给协调者

2.2 如果第一阶段有参与者反馈无法执行事务,则中断事务

3.1 如果执行的是2.1,每个参与者执行的状态都是OK的,则协调者要求各个参与者进行事务提交(如果有参与者由于各种原因没有收到协调者的提交请求,参与者超时之后,将自行提交)

3.2 如果执行的是2.1,有参与者执行的状态失败了,协调者将要求各个参与者进行回滚,然后终止事务。


3PC相对2PC的优点,由于将2PC的第一步细分了,降低了执行颗粒度,减少了参与者的阻塞范围。

2PC的缺点在3PC里面都还存在。





3  paxos

paxos 的前提:分布式进程之间通信会出现重复,丢失,延迟等现象,但不会出现传错的现象

paxos的目的:在分布式进程中多个点情况下最终达成一致




4  zookeeper与paxos

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值