分布式理论学习笔记(2) | 青训营笔记

21 阅读2分钟

这是我参与「第五届青训营 」伴学笔记创作活动的第 6 天

继续学习,上一篇写道CAP理论,只能三选二。后续是BASE理论和ACID。

BASE理论是对CAP中一致性(C)和可用性(A)权衡的结果。

来源于对大型互联网分布式实践的总结,是基于CAP定理逐步演化而来的,其核心思想为:

  • Basically Available(基本可用):假设系统,出现了不可预知的故障,但还是能用,相对正常系统而言响应时间上有一定的损失或者功能上的损失。
  • Soft state(软状态):允许系统中的数据存在中间状态,并认为该状态不影响系统的整体可用性,即允许系统在多个不同节点的数据副本存在数据延时。
  • Eventually consistent(最终一致性):系统能够保证在没有其他新的更新操作的情况下,数据最终一定能够达到一致的状态。因此所有客户端对系统的数据访问最终都能够获取到最新的值。

image.png

ACID事务理论

是数据库管理系统执行过程中的一个逻辑单元,能够保证一个事务中的所有操作要么全部执行,要么全部不执行。数据库事务的四个特性:

  • 原子性(Atomicity):指事务包含的所有操作要么成功,要么全部失败回滚。
  • 一致性(Consistency):指事务必须使数据库从一个一致性状态变换到另一个一致性状态,也就是说一个事务执行之前和执行之后都必须处于一致性状态。
  • 隔离性(Isolation):隔离性是当多个用户并发访问数据库时,数据库为每一个用户开启的事务,不能被其他事务的操作所干扰,多个并发事务中间要相互隔离。
  • 持久性(Durability):持久性是指一个事务一旦被提交了,那么对数据库中的数据的改变就是永久性的,即便是在数据库系统遇到故障的情况下也不会丢失提交事务的操作。

这篇文章对分布式服务的一致性有更详细的解释。 juejin.cn/post/684490…

总结:

学到BASE理论和ACID事务理论,但是还有更多的细节可以阅读更多的文章。后续还会继续学习二阶段提交等理论。