Eureka和Zookeeper的区别

首先介绍一下CAP原则:

C:Consistency-数据一致性;

A:Availability-服务可用性

P:Partition Tolerance-服务对网络分区故障的容错性。

这三个特性在任何系统中不可能同时满足,最多同时满足两个,其中P是必须满足的。

  • 简单来说eureka满足AP,zookeeper满足CP。
  • zookeeper要求各个服务之间同步完成之后才会返回给用户结果,如果服务出现网络波动导致监听不到心跳,会立即从服务列表中剔除,服务不可用。
  • eureka如果遇到网络故障,基于eureka的自我保护机制,不会立即剔除服务,虽然用户获取的服务不一定是可用的,但是至少可以获取到服务列表。用户访问服务列表后还可以利用重试机制,找到正确的服务。更符合分布式服务高可用的要求。
  • eureka集群各个节点之间相互平等,zookeeper有主从之分
    • 如果zookeeper集群中有服务宕机,会重新基于选举机制选出新的主节点,因此可能会导致整个集群因为选主而阻塞,服务不可用。
    • eureka集群有服务宕机,因为各个节点之间是平等的,其他服务器不受影响。
  • eureka中服务发现者是去主动地拉取服务,zookeeper服务发现者是基于监听机制。
    • eureka中获取服务列表后会缓存起来,每隔30秒重新拉取服务列表。
    • zookeeper是监听节点的信息变化,当服务节点信息发生变化的时候,客户端立即收到通知。 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值