Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1396055
  • 博文数量: 277
  • 博客积分: 2551
  • 博客等级: 少校
  • 技术积分: 3918
  • 用 户 组: 普通用户
  • 注册时间: 2011-02-21 22:46
文章分类

全部博文(277)

文章存档

2017年(3)

2016年(9)

2015年(65)

2014年(27)

2013年(85)

2012年(61)

2011年(27)

分类: LINUX

2015-05-08 08:28:40

       解决的问题在分布式环境下,节点间的通信,以及协调的手段,甚至可以解决节点内部的多进程协调,多线程协调,多客户端协调,多个副本的请求响应的一致性
       paxos算法实现多个副本的一致性,2段提交实现多个副本的提交的原子性
       paxos算法好像只是定义了一个proposal和accept的过程,以及其中的相关的规则
       proposal 中的proposal id是节点根据本地来生成的,并不需要其他的节点来协调,proposal id的递增方式是按照节点的总数来
       节点加入到集群后,应该会自动发起proposal,然后不断递增proposal id,从集群中其他节点学习proposal value
       节点的离开不会对集群有什么影响,只是投票的人数变少了
       proposal是随意发的,还是要更新,更新到最新后,就不会再主动发起proposal了?
       通过上述的基本的分析,paxos算法是实现了多节点的状态的一致性,只是最终的一致性,不一定能保证中间任意时刻的一致性,但是到达这个一致性时间过长就会有问题
        2段提交协议就从两外一个角度解决这个问题,解决了中间状态的存在,要么全部提交,要么全部回滚,不会出现中间的状态不一致      
        paxos可以作为后端服务器集群之间的保持数据同步的一个协议,也可以独立存在作为一个决策机构,提供一致性服务,也就是client向集群请求一致性的状态,或者一致性的值

阅读(2066) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~