“Zookeeper 和 Eureka 的区别”的版本间的差异

来自姬鸿昌的知识库
跳到导航 跳到搜索
第2行: 第2行:
  
 
在 Spring Cloud Netflix 中可以使用 Eureka 作为注册中心,但是也可以通过配置的方式使用 Zookeeper 作为配置中心,既然都支持,就需要知道两者的区别。
 
在 Spring Cloud Netflix 中可以使用 Eureka 作为注册中心,但是也可以通过配置的方式使用 Zookeeper 作为配置中心,既然都支持,就需要知道两者的区别。
 +
 +
=== CAP 理论(分布式一致性定理) ===
 +
著名的 CAP 理论指出,一个分布式系统不可能同时满足 C(Consistency,一致性)、A(Availability,可用性),P(Partition-tolerance,分区容错性)。
 +
 +
由于分区容错性在分布式系统中是必须要保证的,因此只能在 A 和 C 之间进行权衡。
 +
 +
在此 Zookeeper 保证的是 CP,而 Eureka 则是 AP
 +
 +
 +
 +
==== C(Consistency,一致性) ====
 +
在分布式系统中,是否<u>立即</u>达到数据同步的效果(平时多说的强一致性)。
 +
 +
在分布式系统一定最终会一致的。如果请求时,整个分布式系统同步后才返回结果,叫做强一致性(满足一致性)。
 +
 +
如果先返回结果,在一定时间后才实现一致性就叫做弱一致性。
 +
 +
 +
 +
 +
==== A(Availability,可用性) ====
 +
在分布式系统中,其中一些节点出现问题,整个整体是否还可用。
 +
 +
 +
 +
 +
==== P(Partition-tolerance,分区容错性) ====
 +
在分布式系统中,是否可以在有限的时间内达到数据一致性的效果,如果因为网络等问题最终没有达到一致性,这时称为出现分区错误。
 +
 +
=== Zookeeper 保证 CP ===
 +
 +
=== Eureka 保证 AP ===
 +
 +
=== Zookeeper 和 Eureka 对比(最完整的对比) ===

2023年3月6日 (一) 13:29的版本

https://www.bilibili.com/video/BV1eU4y187zE/?p=8

在 Spring Cloud Netflix 中可以使用 Eureka 作为注册中心,但是也可以通过配置的方式使用 Zookeeper 作为配置中心,既然都支持,就需要知道两者的区别。

CAP 理论(分布式一致性定理)

著名的 CAP 理论指出,一个分布式系统不可能同时满足 C(Consistency,一致性)、A(Availability,可用性),P(Partition-tolerance,分区容错性)。

由于分区容错性在分布式系统中是必须要保证的,因此只能在 A 和 C 之间进行权衡。

在此 Zookeeper 保证的是 CP,而 Eureka 则是 AP


C(Consistency,一致性)

在分布式系统中,是否立即达到数据同步的效果(平时多说的强一致性)。

在分布式系统一定最终会一致的。如果请求时,整个分布式系统同步后才返回结果,叫做强一致性(满足一致性)。

如果先返回结果,在一定时间后才实现一致性就叫做弱一致性。



A(Availability,可用性)

在分布式系统中,其中一些节点出现问题,整个整体是否还可用。



P(Partition-tolerance,分区容错性)

在分布式系统中,是否可以在有限的时间内达到数据一致性的效果,如果因为网络等问题最终没有达到一致性,这时称为出现分区错误。

Zookeeper 保证 CP

Eureka 保证 AP

Zookeeper 和 Eureka 对比(最完整的对比)