ErueKa,Zookeeper,Consul区别

组件名开发语言CAP服务健康检查对外暴露接口SpringCloud集成原生Web界面
EurekaJavaAP可配支持HTTP已集成
ZookeeperJavaCP支持客户端已集成
ConsulGoCP支持HTTP/DNS已集成

CAP理论

  • C : Consistency (强一致性)
  • A : Availability (可用性)
  • P : Partition tolearnce (分区容错性)
CAP原则的精髓就是要么AP,要么CP,要么AC,但是不存在CAP。如果在某个分布式系统中数据无副本, 那么系统必然满足强一致性条件, 因为只有独一数据,不会出现数据不一致的情况,此时C和P两要素具备,但是如果系统发生了网络分区状况或者宕机,必然导致某些数据不可以访问,此时可用性条件就不能被满足,即在此情况下获得了CP系统,但是CAP不可同时满足。

在这里插入图片描述

AP架构(Eureka)

当网络分区出现后,为了保证可用性,系统B可以返回旧值,保证系统的可用性。结论:违背了一致性C的要求,只满足可用性和分区容错,即AP。

CP架构(ZooKeeper/Consul)

当网络分区出现后,为了保证一致性,就必须拒接请求,否则无法保证一致性。结论:违背了可用性A的要求,只满足一致性和分区容错,即CP。
Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐