0%

数据一致性

数据一致性

数据一致性的问题其实是对分布式事务的另一种解释,分布式事务就是希望在多级环境下可以像单机一样实现强一致性,但是这种强一致性付出的代价很大,而在很多场景下,其实是不需要做到强一致性的,只要最终一致就行。

这里来了解一下数据一致性的基础理论CAP和BASE

CAP

CAP表示三个单词,Consistency、Availability、Partition-Tolerance,这里就三个单词分别进行说明

  • Consistency 所有的节点在同一时间读到同样的数据,也就是数据的一致性,当数据写入成功后,所有的节点会同时看到这个新的数据
  • Availability 保证无论成功还是失败,每个请求都能够收到一个反馈,也就是数据的可用性
  • Partition-Tolerance 即便系统中有部分问题或者有消息的丢失,但是系统仍能够继续运行,也就是分区容忍性,在系统的一部分出现问题时,系统仍能继续工作

在系统中,我们不能够同时满足上述三项,只能满足两项

  • CA 放弃分区容忍性,加强一致性和可用性,也就是传统的单机架构
  • AP 放弃一致性,追求分区容忍性以及可用性
  • CP 放弃可用性,追求一致性和分区容忍性

BASE

  • Baseically Available 基本可用,允许分区失败
  • Soft state 软状态,接受一段时间的状态不同步
  • Eventually consistent 最终一致,保证最终数据的状态一致

欢迎关注我的其它发布渠道