Paxos 帕克索斯算法-读书笔记1

    Paxos帕克索斯算法是解决分布式一致性问题的算法。

    说起Paxos首先得了解什么是分布式,分布式是多台机器组合、协同处理业务的系统架构。

    与之对立的是集中式,集中式系统指的是一台或多台计算机组成的中心节点,所有的存储、部署、业务处理都集中在中心节点上。其特点是:部署结构简单,无需考虑分布式处理中网络通信、协作的问题;缺点是:扩展性差、性能卓越的机器成本高、单点问题等。

    分布式系统的优点是:理论上的无限扩展性(分布性)、廉价的pc机集群、高可用、负载均衡等等。由集中式过渡到分布式,需要解决的问题也很多,比如:网络所带来的通信异常、节点之间的网络分区、节点故障、三态等。

    与此同时分布式事务也遇到了很多挑战;我们知道事务的四个特征ACID,分别代表:原子性、一致性、隔离性、持久性;隔离性分为四个级别:读未提交、授权读取(读已提交)、可重复读、串行化。为了解决一系列,随之而来出现了CAP定理(一致性、可用性、分区容错性只能满足其二)。BASE理论(基本可用、软状态、最终一致性),BASE理论的核心是即使无法做到强一致性,也要做到最终一致性。

    为了解决一致性问题,最著名的就是2PC、3PC、Paxos算法了。

    2PC二阶段提交,分别为提交事务请求阶段和执行事务请求阶段,其中由协调者和参与者两种角色完成。其特点是:保证了事务的原子性,原理简单,容易实现。缺点是:事务同步阻塞、单点问题、脑裂、太过保守。

    3PC三阶段提交,是2PC的升级,将提交事务请求阶段划分为两个阶段canCommit和preCommit。解决了二阶段提交的事务同步堵塞,将同步堵塞范围缩小;解决单点问题。缺点是:preCommit阶段协调者提出后,节点分区和协调者出现网络异常,参与者仍然会提交事务导致不一致性,通信次数也增加了。

    Paxos算法引入了"过半"原则即少数服从多数,支出分布式角色轮换,解决脑裂、单点、无线等待问题,是目前最优秀的分布式算法之一。

===============================================

    未完待续,下一章深入理解Paxos算法......

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 关于Mongodb的全面总结 MongoDB的内部构造《MongoDB The Definitive Guide》...
    中v中阅读 32,125评论 2 89
  • 分布式系统面临的第一个问题就是数据分布,即将数据均匀地分布到多个存储节点。另外,为了保证可靠性和可用性,需要将数据...
    olostin阅读 10,140评论 2 26
  • 缘起 最近研究Spanner,发现国内对Spanner论文的翻译很多,但是美中不足的是,每个人都在做论文的搬运工和...
    吕信阅读 20,136评论 4 36
  • 当我们在生产线上用一台服务器来提供数据服务的时候,我会遇到如下的两个问题: 1)一台服务器的性能不足以提供足够的能...
    isgiker阅读 3,728评论 0 5
  • 好好珍惜今天,用愉快的心迎接每一天,倢康的身体才是永久的财富……
    陈晨_c40e阅读 1,722评论 0 0