分布式理论(一) CAP理论

分布式理论(一) CAP理论_第1张图片

CAP理论

C:Consistency 一致性

A:Availablity 可用性

P:Partition Tolerance 分区容错性

 

什么是一致性?什么是可用性?什么是分区,什么是分区容错性?

选项

描述

C(Consistence)

一致性,指数据在多个副本之间能够保持一致的特性(严格的一致性)

A(Availability)

可用性,指系统提供的服务必须一直处于可用的状态,每次请求都能获取到非错的响应——但是不保证获取的数据为最新数据。

P(Network partitioning)

分区容错性,分布式系统在遇到任何网络分区故障的时候,仍然能够对外提供满足一致性和可用性的服务,除非整个网络环境都发生了故障。

分区:在分布式系统中,不同的节点分布在不同的子网络中,由于一些特殊的原因,这些子节点之间出现了网络不通的状态,但他们的内部子网络是正常的。从而导致了整个系统的环境被切分成了若干个孤立的区域。这就是分区。

 

CAP理论,三选二

CAP理论告诉我们:一个分布式系统不可能同时满足一致性(C:Consistency)、可用性(A:Availability)和分区容错性(P:Partition tolerance)这三个基本需求,最多只能同时满足其中两项

   

   

CA

放弃分区容错性,加强一致性和可用性,其实就是传统的单机数据库的选择

AP

放弃一致性(这里说的一致性是强一致性),追求分区容错性和可用性,这是很多分布式系统设计时的选择,例如很多NoSQL系统就是如此

CP

放弃可用性,追求一致性和分区容错性,基本不会选择,网络问题会直接让整个系统不可用

 

解决三选二的问题 -- BASE理论、ACID事务管理

分布式理论(一) CAP理论_第2张图片

 

参考:

  • 分布式理论(一) —— CAP 定理:https://www.cnblogs.com/stateis0/p/9062121.html
  • 聊聊分布式系统一致性问题,你懂几分?:https://developer.51cto.com/art/202005/615961.htm?pc
  • 从分布式一致性谈到CAP理论、BASE理论:https://www.cnblogs.com/szlbm/p/5588543.html

你可能感兴趣的:(分布式随笔)