CAP原则
根据分布式CAP理论,即一致性consistency,可用性availability,分区容错partition-tolerance三个特性中,最多满足其中两个。
Eureka 满足AP两个特性,它实现的是最终一致性,当新的服务注册到集群中的一个eureka 上,此时这个服务挂掉了,那么刚刚注册的服务就无法同步到其他eureka 上也就无法被调用者使用。但是当eureka 重新启动后就可以恢复。
Zookeeper满足CP两个特性,集群中主服务挂掉后,会在子服务中选举新的注册服务,在选举过程中,注册服务对外是不可用的。
Nacos支持AP和CP模式,默认是AP模式与Eureka一样。
注册中心的工作原理
拿Eureka来捋一下注册中心工作原理,Eureka整体上可以分为两个主体:Eureka Server 和 Eureka Client。
注册中心服务端主要对外提供了三个功能:服务注册,提供注册表,同步状态
服务注册和续约
Eureka Client 向 Eureka Server 注册时,它提供自身的元数据,比如 IP 地址、端口,运行状况指示符 URL,主页等。Eureka Client 会每隔 30 秒发送一次心跳来续约。通过续约来告知 Eureka Server 该 Eureka Client 运行正常,没有出现问题。
剔除机制
默认情况下,如果 Eureka Server 在 90 秒内没有收到 Eureka Client 的续约,Server 端