一 概述
当我们接触到分布式系统的时候,CAP理论是一个必不可少的基础理论。
二 CAP理论
C(Consistency),即一致性:在分布式环境中,一致性是指数据在多个副本之间是否能够保证一致性的特性,等同于所有节点访问同一份最新的数据副本,在一致性的需求下,当一个系统在数据一致性的状态下执行更新操作后,应该保证系统的数据仍然处于一致的状态。
A (Availability),即可用性:每次请求都能获取正确的响应,但是不保证获取的数据是最新的数据。
P (Partition tolerance),分区容错性:分布式系统在遇到任何网络分区故障的时候,仍然需要能够保证对外提供满足一致性和可用性的服务,除非是整个网络环境发生了故障。
了解过这些概念之后我们需要知道在一个分布式系统中最多只能同时满足一致性(Consistency),可用性(Availability)和分区容错性(Partition tolerance)中的两项,其中P即分区容错性是必须要满足的,所以只有CP和AP这两种选择。
三 实现CP,AP的常见中间件
zookeeper则是保证CP,eruka则是保证AP,nacos则可以在AP和CP之间进行切换使用。