小白学分布式程序开发12-PAXOS算法例子

例子

       现有两个商人各有一个项目需要通过审批,但只有一个项目能通过,两人开始展开激烈的争夺。

       商人A先找了官员1和官员2进行贿赂,官员1和2分别收取了¥10,等商人找到官员3时,没想到遭到了官员3的鄙视,官员3告诉他,商人B给了¥12。不过没关系,商人A已经得到了1,2两个官员的认可,形成了多数派。他可以进入提案采纳阶段了。


       但是此时商人B找到了官员1和官员2,分别给了他们¥12,官员1和官员2的态度立刻转变,都说商人B懂事,这下子商人B放心了,搞定了3个官员,他可以进入提案采纳阶段了。


      等商人A准备好合同分别去找官员1、2、3,他先找到官员1申请批准项目V1,遭到了官员1的鄙视,官员1告诉他商人B给了他¥12,因为上一阶段,商人A已经知道商人B第一阶段在她之后又形成了多数派,他赶紧去提款准备重新贿赂这3个官员(重新进入第一阶段),每人¥20。


       商人A刚给官员1¥20,官员1很高兴初步接受了议题,还没来得及见到官员2和官员3的时候,这时商人B分别找3位官员(注意这里是商人B的第二阶段),被官员1拒绝了告诉他收到了商人A¥20,官员2和3顺利批准了项目V2。而等商人A找到官员2时,官员2告述他已经批准了商人B的项目V2了,此时商人A意识到自己的项目V1没有希望了,他灵机一动想,既然如此那我就耍个赖,把我的项目也改成V2不就行了吗....(哈哈,我真是机智)


       于是商人A将项目改为了V2进行申请,官员们都批准通过了。


最后别忘了关注我们的微信公众号,也可以加入我们的QQ群(635943139),谢谢*o*!


Zookeeper是一个分布式应用程序协调服务,它提供了一个分布式锁、分布式队列等基本的分布式协作功能。而Paxos算法则是分布式系统中的一种经典算法,主要用于保证分布式系统的一致性。Zookeeper基于Paxos算法实现了分布式锁和分布式队列等功能。 Paxos算法主要解决的问题是分布式系统中的一致性问题。在分布式系统中,由于网络通信的延迟、节点宕机等原因,可能会导致数据的不一致性。Paxos算法通过选举一个Leader节点来协调各个节点的操作,从而保证系统的一致性。 Paxos算法主要分为三个阶段:提议、批准和执行。在提议阶段,一个节点向其他节点提议一个值;在批准阶段,如果超过半数节点同意了这个值,那么这个值就被批准了;在执行阶段,Leader节点将这个值发送给所有节点,让它们执行。 Zookeeper在实现分布式锁和分布式队列等功能时,也是基于这个流程实现的。当一个进程需要获取锁时,它会向Zookeeper服务发送一个请求,Zookeeper会选举一个Leader节点来处理这个请求。当一个进程需要使用队列时,它会向Zookeeper服务发送一个请求,Zookeeper会将这个请求放入队列中,并选举一个Leader节点来执行这个请求。 总之,Zookeeper是一个分布式应用程序协调服务,它提供了一些基本的分布式协作功能。而Paxos算法则是保证分布式系统一致性的经典算法,Zookeeper基于Paxos算法实现了分布式锁和分布式队列等功能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值