上QQ阅读APP看书,第一时间看更新
第2章
深入研究一致性
分布式架构为分布式系统带来了复杂的分布式一致性问题,这样的问题分为两类:一类是对一个议题达成共识,如多副本数据同步的数据存储一致性,本章称之为结果一致性;二是因事件、消息发生顺序引发的和顺序有关的一致性问题,本章称之为次序一致性。结果一致性和次序一致性合称分布式一致性。
分布式系统和数据库管理系统结合,形成了分布式数据库系统。分布式数据库系统带来了分布式一致性与事务一致性的交叉问题,这类问题在本书中合称为分布式事务一致性,这也可分为两类:事务一致性和次序一致性交叉合称为分布式事务读写一致性;事务一致性和结果一致性交叉合称为分布式事务存储一致性。
为满足应用需求,人们常用廉价硬件构建稳定系统,并先后出现了单主单备、单主多备、多主多备、分布式、去中心化分布式等不同架构,这些架构蕴含了不同的一致性需求,包括上述的结果一致性、次序一致性、事务相关的读写一致性。而去中心化架构和大规模数据的计算需求以及新硬件的出现,促使存储和计算分离架构出现,还促使事务引擎和存储引擎分离、存储引擎和存储文件系统分离等多种细分架构出现。这些新架构融合了多种一致性,但又各有不同特征,所以本章专门开辟一节从架构的角度讨论一致性。
总体来看,本章将从对分布式一致性的常规认识开始,逐步讨论多种一致性的含义及其精确定义,然后讨论分布式一致性(次序一致性、结果一致性)和分布式事务一致性(分布式事务读写一致性、分布式事务存储一致性)之间的关系,然后从架构的角度入手探索一致性。第3章将对各种一致性的解决方法进行讨论。