1.Eureka
(1)为什么需要eureka?(eureka和zookeper都是注册中心,项目中选用了eureka)
服务提供者需要对外暴露地址,调用者需要记录服务提供者的地址,当服务提供者的地址发生改变,调用者也需要及时更新地址。在并发量较高的情况下,地址维护困难,易出错。而eureka是注册中心,对外暴露自己的地址,提供者向eureka注册自己的信息,消费者向eureka订阅服务,eureka将对应的服务地址发送给消费者,并定期更新。提供者定期向eureka刷新自己的状态(心跳,续约)。
(2)eureka的实效剔除和自我保护?
失效剔除:有时服务端并不一定正常下线,可能会因为内存溢出等错误导致服务无法使用,因此,eureka设置了如果超出90秒未回应,则视为失效服务,并每隔60秒对失效服务剔除一次。
自我保护:当一个服务未按时进行心跳续约时,eureka会统计近15分钟的心跳失败的服务实例的比例是否超过85%,在正常情况下,由于网络延迟等情况,很有可能发生心跳失败实例的比例超标,此时就剔除服务列表不太合适,因为服务并不一定宕机。eureka会把当前服务的信息保护起来,不予剔除。
2.负载均衡Rabbion
(1)为什么用到Rabbion?
当为了提高容错能力,实现了服务的集群时,就需要负载均衡,因为当一个服务有多个服务实例时到底要访问哪一个服务实例。而Rabbion实现了负载均衡。Eureka中集成了Rabbion。为Rabbion提供服务提供者的地址后,Rabbion会利用负载均衡算法帮助消费者去请求。
(2)Rabbion的负载均衡算法有哪些?
Eureka
最新推荐文章于 2022-06-20 23:46:03 发布