Eureka服务治理基础架构下的三个核心要素
服务注册中心
服务提供者
服务消费者
很多时候,客户端既是服务提供者又是服务消费者
服务提供者
服务注册
服务提供者在启动的时候通过发送REST请求的方式将自己注册到EurecaServer上,同时带上自身元数据信息。 Eureca Server接收到这个REST请求之后,将元数据的信息储存在一个双层结构的Map中,第一层map的key为服务名,第二层的key为具体服务的实例名。
服务续约(Renew)
注册完服务之后,服务提供者会维持一个心跳告诉Eureca Server :“我是一个活着的健康实例”,从而防止Eureca Server的“剔除任务”从服务列表中排除该实例。 eureka.instance.lease-renewal-interval-in-seconds:心跳任务的调用时间,默认三十秒 eureka.instance.lease-expiration-duration0in-seconds:服务时效时间,默认九十秒
服务消费者
获取服务
服务消费者启动的时候会发送一个REST请求给注册中心,获取已注册的服务清单。 为了性能考虑,EurecaServer会维护一份只读的服务清单来返回给 客户端,同时该缓存清单会隔三十秒刷新一次。 eureka.client.fetch-registry:获取服务,默认为true eureka.client.registry-fetch-interval-seconds:缓存清单的更新时间,默认三十秒
调用服务
消费者获取清单之后,就可以获得服务者的实例名和元数据信息。 Ribbon默认使用轮询的方式调用,从而实现客户端负载均衡
下线服务
服务实例进行正常的关闭操作时,会触发一个服务下线的REST请求给Eureca Server,注册中心将该服务状态设置为下线(DOWN),并且把下线事件传播出去。
服务注册中心
小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数初中级Java工程师,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年最新Java开发全套学习资料》送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频
如果你觉得这些内容对你有帮助,可以添加下面V无偿领取!(备注Java)
本次面试答案,以及收集到的大厂必问面试题分享:
本次面试答案,以及收集到的大厂必问面试题分享:
[外链图片转存中…(img-yTOiA0rr-1711036851782)]