美文网首页
总章(一)

总章(一)

作者: 丑男李狗蛋 | 来源:发表于2020-12-22 22:05 被阅读0次

Eureka的一些概念:
在Eureka的服务治理中,会涉及到下面一些概念:
服务注册:Eureka Client会通过发送REST请求的方式向Eureka Server注册自己的服务,提供自身的元数据,比如ip地址、端口、运行状况指标的url、主页地址等信息。Eureka Server接收到注册请求后,就会把这些元数据信息存储在一个双层的Map中。
服务续约:在服务注册后,Eureka Client会维护一个心跳来持续通知Eureka Server,说明服务一直处于可用状态,防止被剔除。Eureka Client在默认的情况下会每隔30秒发送一次心跳来进行服务续约。
服务同步:Eureka Server之间会互相进行注册,构建Eureka Server集群,不同Eureka Server之间会进行服务同步,用来保证服务信息的一致性。
获取服务:服务消费者(Eureka Client)在启动的时候,会发送一个REST请求给Eureka Server,获取上面注册的服务清单,并且缓存在Eureka Client本地,默认缓存30秒。同时,为了性能考虑,Eureka Server也会维护一份只读的服务清单缓存,该缓存每隔30秒更新一次。
服务调用:服务消费者在获取到服务清单后,就可以根据清单中的服务列表信息,查找到其他服务的地址,从而进行远程调用。Eureka有Region和Zone的概念,一个Region可以包含多个Zone,在进行服务调用时,优先访问处于同一个Zone中的服务提供者。
服务下线:当Eureka Client需要关闭或重启时,就不希望在这个时间段内再有请求进来,所以,就需要提前先发送REST请求给Eureka Server,告诉Eureka Server自己要下线了,Eureka Server在收到请求后,就会把该服务状态置为下线(DOWN),并把该下线事件传播出去。
服务剔除:有时候,服务实例可能会因为网络故障等原因导致不能提供服务,而此时该实例也没有发送请求给Eureka Server来进行服务下线,所以,还需要有服务剔除的机制。Eureka Server在启动的时候会创建一个定时任务,每隔一段时间(默认60秒),从当前服务清单中把超时没有续约(默认90秒)的服务剔除。
自我保护:既然Eureka Server会定时剔除超时没有续约的服务,那就有可能出现一种场景,网络一段时间内发生了异常,所有的服务都没能够进行续约,Eureka Server就把所有的服务都剔除了,这样显然不太合理。所以,就有了自我保护机制,当短时间内,统计续约失败的比例,如果达到一定阈值,则会触发自我保护的机制,在该机制下,Eureka Server不会剔除任何的微服务,等到正常后,再退出自我保护机制。

相关文章

  • 总章(一)

    Eureka的一些概念:在Eureka的服务治理中,会涉及到下面一些概念:服务注册:Eureka Client会通...

  • 总章

    在游戏行业摸爬滚打了多年,干了快10年的TA,也想扩展一下思路,故写此文集,也希望可以帮到我的好友江南,帮他摆脱渲...

  • 总章

    一、跨域问题二、this指向三、vue中组件通信的方式四、移动端实现1px的方法五、柯里化函数六、js事件冒泡和事...

  • 天道总章(一)

    为天下安心,为生民立命,为往圣继绝学,为万世开太平。

  • 算法--总章

    有幸开始学习算法 再此以做记录。 首先,明确几个学习之前的问题: 1.什么是算法? 非形式地说,算法就是任何良定义...

  • JS总章01

    一、什么是javascript? javascript是一种运行于js解释器中的脚本语言,简称js。 ...

  • JS总章02

    for循环的嵌套 1. ********** ********** ********** ********** *...

  • 设计模式--总章

    一个围棋下的好的人一定知道,好的“形”对于围棋特别重要。形是棋子在棋盘上的几何形状的抽象化。形就是模式,也是人脑认...

  • linux资料总章

    linux资料总章2.1 1.0写的不好抱歉 但是2.0已经改了很多 但是错误还是无法避免 以后资料会慢慢更新 大...

  • 设计模式总章

    设计模式从功能上可以分为三大类: 创建模式:单件模式、工厂模式、抽象工厂模式、生成器模式、原型模式。 结构模式:适...

网友评论

      本文标题:总章(一)

      本文链接:https://www.haomeiwen.com/subject/iazujktx.html