服务注册中心Eureka与zookeeper的对比

本文对比了服务注册中心Eureka与Zookeeper的架构特点、数据一致性、服务发现时效性和注册容量。Eureka采用peer-to-peer架构,保证高可用性但数据最终一致性;Zookeeper为CP模型,提供数据强一致性但可能影响可用性。

服务注册中心Eureka与zookeeper的对比

       1、架构分析

  Eureka的架构是peer-to-peer,各个节点是平等的,各个服务可以向任意的实例节点进行注册,注册信息会同步到其他的server节点

  Zookeeper是leader,follower的架构,只有leader负责写,数据会同步到follower,读可以在所有节点

      2、数据一致性保证

      分布式系统的CAP理论,C一致性、A可用性、P分区容错性

      分布式系统P是必须满足的,所以分布式系统一般不是CP就是AP,C与A不可兼得

ZK是CP的,C数据的是强一致性,也就是写数据库到leader节点,leader节点是一定要把数据同步到follower的,保证各个节点的数据是强一致的。

大家想一想,这样是不会出现一个问题,就是如果leader节点挂了,服务就不可用了,必须等zk的集群重新选举出新的leader节点,服务才能恢复使用。极端情况下leader挂了可能一段时间内注册中心不可用,好处是各个节点的数据是强一致的。

Eureka server是AP,保证的可用性,如果其中一个挂掉了,可以使用其他节点进行服务的注册发现的功能,但是这时,各个节点中的数据就可能出现不一致的情况。Server集群中通过数据同步,数据会实现最终一致性。

       3、服务发现的时效性

Zk的服务发现是秒级别的,性能很高,发现很快,通过监听事件感知

Eureka的时效性,默认配置,服务的发现时间要几十秒,极端情况下,甚至超过几分钟

       4、服务注册容量

Zk不能支持太多的服务实例进行注册,实例太多,瞬间服务的通知太多,一般服务实例在几百到一千个

Eureka支持的容量,也不能太多,主要也是心跳,心跳还需要在server节点进行同步

评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值