CAP
Table of Contents

CAP理论

Consistency(一致性)

在分布式环境下,用户访问不同的服务器,返回的数据要一致。

Availability(可用性)

在分布式环境下,只要收到用户的请求,服务器就必须给出回应。

Partition tolerance(分区容忍性)

分布式环境的基础,不同网络之间的通讯有可能失败。

关于一致性和可用性的矛盾

因为分区的存在,如果要保证一致性,那么修改数据后同步到各个节点时,会导致未同步的节点不能读,导致没有了可用性。

常见的CAP应用

zookeeper: CP

eureka: AP

常常会看到注册中心应该选择哪个组件较为合适,网上的普遍论调是,使用AP的eureka会更合适,因为分布式服务中,注册中心暂时的不一致,对服务并多多大影响和妨碍。(当时也并不是zk就不好,得看场景)

2020-06-29 11:32:01 Eureka也有可能因为过多的节点丢失导致触发了自我保护机制,这会导致服务可能请求到了一个已经下线的节点。

BASE理论

Basically Available(基本可用)

Soft State(软状态)

Eventually Consistent(最终一致性)