CAP定理
在计算机科学中, CAP定理(CAP theorem), 又被称作 布鲁尔定理(Brewer's theorem), 它指出对于一个分布式计算系统来说,不可能同时满足以下三点:
一致性(Consistency) (所有节点在同一时间具有相同的数据)
可用性(Availability) (保证每个请求不管成功或者失败都有响应)
分区容错性(Partition tolerance) (系统中任意信息的丢失或失败不会影响系统的继续运作)
CAP理论的核心是:一个分布式系统不可能同时很好的满足一致性,可用性和分区容错性这三个需求,最多只能同时较好的满足两个。
因此,根据 CAP 原理将 NoSQL 数据库分成了满足 CA 原则、满足 CP 原则和满足 AP 原则三 大类:
CA - 单点集群,满足一致性,可用性的系统,通常在可扩展性上不太强大。
CP - 满足一致性,分区容忍性的系统,通常性能不是特别高。
AP - 满足可用性,分区容忍性的系统,通常可能对一致性要求低一些。

P是必须要保证的,因此只能在A和C之间抉择,这也是Zookeeper和Eureka的区别:
Zookeeper:CP
因network导致ZK集群失去master节点是常事,虽然最终服务能恢复,但漫长的选举时间30-120秒导致的注册长期不可用,是不可容忍的
Eureka:AP
各个节点是平等的,只要有一台Eureka还在,就能保证注册服务可用,只不过查到的信息,可能不是最新的(不保证强一致性)
浙公网安备 33010602011771号