Eureka与Zookeeper有啥区别?

上一篇 << 下一篇 >>>消息中间件的核心思想


相同点

Eureka和Zookeeper都是可以实现服务注册中心。

不同点

Zookeeper保证CP(数据一致性和分区容错),(原理是ZAB原子广播协议),当zk在某种情况下出现了宕机,会重新实现对zk选举新的领导(ZAB的恢复机制),如果zk选举的新的领导时间过长的话,或者投票没有过半数 ,那么会导致整个zk集群环境不可用,这也意味着服务注册中心不可用,所以zk必须保证数据一致性;
Eureka保证ap(部分可用和分区容错),设计思想优先考虑可用性、完全去中心化服务注册中心,每个节点都是均等的;Eureka集群没有主从之分,几个节点挂掉也不会影响到整个Eureka的使用,Eureka客户端发现连接时的可用的话,自动切换到下一个eureka连接,只要保证eureka有一个节点存在的话,就可以保证整个服务注册中心使用。

为什么SpringCloud选择Eureka作为注册中心而不是zookeeper呢?

服务注册中心,可以短暂读取以前服务注册列表信息,但是不可以接收节点宕机不可用。
只有eureka去除了中心化,其他redis、mysql、zk等都有主从节点


推荐阅读:
<< << << << <<<为什么Zookeeper集群节点一定要是奇数
<< << << << << << << << << << << << <<

你可能感兴趣的:(Eureka与Zookeeper有啥区别?)