为什么Zookeeper不适合作服务注册和发现

参考
Zookeeper比较追求一致性和分区容忍性,也就是CAP理论中的CP。在极端情况下,不能保证服务的可用性。这对于服务发现来说并不是好消息。试想一下,如果Zookeeper集群节点间的通信出现问题,那么客户端即便连上了集群,也不能在可容忍的时间内获取结果。但是,目标服务本身是好的,由于Zookeeper的问题而导致连不上,这对客户端来说非常不友好。

另外,如果集群本身有问题,根本就连不上,这对客户端来讲也是一个问题。

Eureka可以比较好的解决这两个问题。
首先,Eureka集群中的一个服务器宕机之后,客户端会自动切换到别的服务器。
其次,Eureka客户端本身具有缓存功能。连不上服务器,客户端也可以使用缓存中记录的目标服务器地址。

你可能感兴趣的:(为什么Zookeeper不适合作服务注册和发现)