什么是CAP:
CAP的发展史:
2000年7月,Eric Brewer教授提出CAP猜想;2年后,Seth Gilbert和Nancy Lynch从理论上证明了CAP;之后,CAP理论正式成为分布式计算领域的公认定理。
CAP的背景和定义:
CAP理论讨论的对象是分布式场景。一个分布式系统需要满足三个最基本的特性,分别是一致性(Consistency)、可用性(Availability)和分区容错性(Partition Tolerance,这个中文翻译很不直观,没能体现Partition原来的意思,这也人为拉高了理解成本,至少对以前的我是这样,后面会单独介绍)。CAP理论的简单解释就是,不可能存在一个完美的分布式架构,能同时满足这三个特性。架构师们不要试图花精力去设计一个“完美”的架构来满足这三个特性,而是应该因地制宜,根据实际的需求在CAP之间做权衡。
CAP理论主要分为三个地方去说明:
C: consistence 主要代表的是一致性
A: Availability 主要代表的是可靠性
P: Partition tolerance 主要代表的是分区容错性
CAP理论的作用以及用法:
CAP理论的作用:
CAP的作用是最多能同时满足两个条件,不能三个都满足. 目前的分布式要么是满足AP ,要么是CP.但是这个是是没有CA的,因为P是分布式的主要核心如果没有P就像是分布式里的大核心一样.
CAP理论的用法:
kafka: AP :能用 速度要快
rabbitMQ : cp 金融系统 电商系统强调数据一致
nacos 还是cp or ap? 默认为AP。 但是可以进行切换:
切换:curl -X PUT "http://localhost:8848/nacos/v1/ns/operator/switches?entry=serverMode&value=CP"
curl -X PUT "http://localhost:8848/nacos/v1/ns/operator/switches?entry=serverMode&value=AP"