Eureka、Zookeeper和Consul区别及CAP架构对比—SpringCloud(H版)微服务学习教程(18)

Java技术 潘老师 3年前 (2021-03-25) 1358 ℃ (0) 扫码查看

经过前面我们对Eureka、Zookeeper和Consul的学习,他们都可以实现服务注册中心,下面我们针对这3者做一个简单地对比,我们汇总为如下表格:
Eureka、Zookeeper和Consul区别及CAP架构对比—SpringCloud(H版)微服务学习教程(18)
针对CAP理论的补充:

CAP定理:CAP定理又称CAP原则,指的是在一个分布式系统中,一致性(Consistency)、可用性(Availability)、分区容错性(Partition tolerance)。CAP 原则指的是,这三个要素最多只能同时实现两点,不可能三者兼顾。

一致性(Consistency):

数据在多个副本之间能够保持一致的特性(强一致性)。就像Redis的主从结构,Zookeeper的Master/Slave结构,主从之间的数据保持一致,这些都是最终一致性。

可用性(Availability):

系统一直处于可用状态,能正常响应数据,但是不保证响应数据为最新数据。

分区容错性(Partition tolerance):

分布式系统在遇到网络故障的时候,仍然能够对外提供满足一致性和可用性的服务,除非整个网络环境都发生了故障。

一般来讲,基于网络的不稳定性,分区容错是不可避免的,所以我们默认CAP中的P总是成立的。

CAP经典图:

Eureka、Zookeeper和Consul区别及CAP架构对比—SpringCloud(H版)微服务学习教程(18)

AP架构:

当网络分区出现后,为了保证可用性,系统B可以返回旧值,保证系统的可用性。
结论:违背了一致性C的要求,只满足可用性和分区容错,即AP
Eureka、Zookeeper和Consul区别及CAP架构对比—SpringCloud(H版)微服务学习教程(18)

CP架构:

当网络分区出现后,为了保证一致性,就必须拒接请求,否则无法保证一致性
结论:违背了可用性A的要求,只满足一致性和分区容错, 即CP
Eureka、Zookeeper和Consul区别及CAP架构对比—SpringCloud(H版)微服务学习教程(18)


版权声明:本站文章,如无说明,均为本站原创,转载请注明文章来源。如有侵权,请联系博主删除。
本文链接:https://www.panziye.com/java/2768.html
喜欢 (0)
请潘老师喝杯Coffee吧!】
分享 (0)
用户头像
发表我的评论
取消评论
表情 贴图 签到 代码

Hi,您需要填写昵称和邮箱!

  • 昵称【必填】
  • 邮箱【必填】
  • 网址【可选】