Eureka与Zookeeper

CAP理论

C(Consistency):一致性

A(Avaliability):高可用

P(Partition tolerance):分区容错性

Eureka & Zookeeper
  • Eureka强调的是AP,即高可用,分区容错性
  • Zookeeper强调的是CP,即一致性,分区容错性
Eureka优势
  • Eureka如果某天服务器宕机,eureka不存在类似zookeeper的选举leader解决的过程,eureka知识自动切换到新的eureka节点上,当宕机服务器重新恢复之后,eureka会再次将其纳入集群管理中
  • Eureka通过心跳服务淘汰一些异常的服务,如果心跳信息接收异常,会将节点剔除,这样可能存在网络异常时候剔除正常节点情况。
    • 解决办法,如果eureka在短时间丢失大量心跳,你们这个eureka节点会进入自我保护状态,同时保留正常节点和异常节点,等到网络好了之后才推出自我保护状态。以保证高可用
  • Eureka还有客户端缓存功能,也就是即使所有eureka节点都失效了,或者网络分割故障导致客户端无法访问到任何一台eureka,客户端也可以通过其缓存的服务列表来获取服务信息。
  • Eureka是客户端和服务端配合使用,同时提供心跳服务,监控检测服务,自动刷新缓存功能,如果用zookeeper的话需要自己去实现这些功能,还提供了web-based图形化运维界面,提供第三方介入的rest-ful接口
Zookeeper 劣势
  • Zk是基于CP,强调一致性,而不是高可用,所以不保证每次请求的可用性,但是对于server来说,就算返回的是过时的信息也比不返回直接失败要好。
  • ZK下的server不会缓存所有服务注册信息,如果节点都断开,或者说zk网络故障,他会把所有节点都剔除,外界就不能访问这些节点信息,即使那些节点可用。
  • ZK集群在leader选举的时候如果所有节点没有超过半数择不能选出leader节点,导致集群无法提供服务,
    • 一个3台的集群,挂了一台:收不到一台的投票,但是另外两台可以收到,按照节点选举规则,一个节点得2 票,这个时候 2>(3/2) ,得票数超过半数,可以选出leader节点
    • 挂了两台:只有一个选票,1不大于(3/2),不能选出leader节点,导致ZK无法提供服务
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值