CAP的定义
CAP定理(CAP theorem)又被称作布鲁尔定理(Brewer’s theorem),是分布式系统设计中最基础、最重要的理论,它的意思是对于一个分布式计算系统来说,不可能同时满足以下三点条件:
- 一致性(Consistency):每次读取要么获得最近写入的数据,要么获得一个错误。
- 可用性(Availability):每次请求都能获得一个(非错误)响应,但不保证获得的数据为最新数据。
- 分区容错性(Partition tolerance):尽管任意数量的消息被节点间的网络丢失(或延迟),系统仍继续运行。
这三个条件的核心都是数据,数据是否一致,数据是否可用,数据是否做了分区容错。
为了更好的理解CAP原理,下面我来为大家介绍各个条件实际的应用场景。
-
一致性
银行系统部署了N个节点,其中一个节点收到了用户的转账请求,在该请求处理的过程中,以及处理结束后,无论访问银行系统的哪个节点,查询到该用户的账户金额都应该是一致的。
需要注意的是,CAP的一致性与ACID的一致并不相同,CAP侧重于不同系统节点的数据一致,ACID则侧重于数据库事务的完整性。 -
可用性
与一致性不同ÿ