首页 > 其他分享 >SpringCloud复习:(1)netflix包里的DiscoveryClient类

SpringCloud复习:(1)netflix包里的DiscoveryClient类

时间:2023-10-30 10:32:20浏览次数:39  
标签:服务 netflix SpringCloud 代码 register 如下 initScheduledTasks DiscoveryClient 方法


DiscoveryClient类实现了EurekaClient接口

SpringCloud复习:(1)netflix包里的DiscoveryClient类_服务列表


它的主要作用:服务注册,服务续约,服务下线,获取服务列表。

initScheduledTasks方法用来开启定时任务来完成上述功能。

SpringCloud复习:(1)netflix包里的DiscoveryClient类_定时任务_02


上图中的代码用来从服务器定期(默认30秒)拉取服务列表(ScheduledExecutorService的应用场景)

其中TimedSupervisorTask 这个Runnable的run方法代码如下:

SpringCloud复习:(1)netflix包里的DiscoveryClient类_服务器_03


服务注册和发心跳信息也在initScheduledTasks方法中,代码如下:

SpringCloud复习:(1)netflix包里的DiscoveryClient类_服务列表_04


SpringCloud复习:(1)netflix包里的DiscoveryClient类_1024程序员节_05


SpringCloud复习:(1)netflix包里的DiscoveryClient类_服务器_06

其中InstanceInfoReplicator是一个Runnable,它的run方法代码如下:

SpringCloud复习:(1)netflix包里的DiscoveryClient类_服务器_07


其中调用的discoveryClient的register方法代码如下:

SpringCloud复习:(1)netflix包里的DiscoveryClient类_定时任务_08


这个register方法调用之后,就完成了服务的注册EurekaClientConfigBean类封装了Eureka相关的配置信息

SpringCloud复习:(1)netflix包里的DiscoveryClient类_1024程序员节_09


SpringCloud复习:(1)netflix包里的DiscoveryClient类_1024程序员节_10


getEurekaServerServiceUrls用来获取服务器地址:

SpringCloud复习:(1)netflix包里的DiscoveryClient类_1024程序员节_11


标签:服务,netflix,SpringCloud,代码,register,如下,initScheduledTasks,DiscoveryClient,方法
From: https://blog.51cto.com/amadeusliu/8086341

相关文章

  • 传统的API网关和SpringCloud Gateway区别对比
    传统的API网关和SpringCloudGateway的主要区别在于架构和性能。传统的API网关通常是独立于各个后端服务的,请求会先打到独立的网关层,再转发到服务集群。而SpringCloudGateway则将流量从南北走向改为东西走向,微服务网关和后端服务是在同一个容器中的,也被称为GatewaySidecar。......
  • SpringCloud微服务多应用脚手架的搭建与部署
    最近几年SpringBoot大热,很多IT公司都开始采用SpringBoot来替换传统的SpringMVC项目。那么如何搭建一个适合开发的项目架构呢?这里我主要介绍Java程序员使用最多的两种工具进行搭建:1、MyEclipse;2、ideaMyEclipse第一步:打开MyEclipse,选择File—>New—>Other,搜索maven,点击next 第二步:......
  • 【Springcloud】Spring Cloud启动应用时指定IP或忽略某张网卡配置(eureka指定IP注册)
    参考于:https://blog.csdn.net/weixin_40783112/article/details/80396830背景springcloud服务注册到eureka,但部署的节点存在多网卡,导致服务注册到eureka的服务信息,被另外的服务无法调用到。解决方案:通过启动参数,指定IP,这样的话,注册到eureka就是可以被调用到了。-espri......
  • springcloud-gateWay
    基础模板spring:cloud:gateway:routes: -id:gulimall-search#别重复就行 uri:lb://gulimall-search#对应微服务的applicationName predicates: -Path=/api/search/**predicates的概念每一个route对应一个--->RouteDefi......
  • SpringCloudAlibaba Seata在Openfeign跨节点环境出现全局事务Xid失效原因底层探究
    原创/朱季谦曾经在SpringCloudAlibaba的Seata分布式事务搭建过程中,跨节点通过openfeign调用不同服务时,发现全局事务XID在当前节点也就是TM处,是正常能通过RootContext.getXID()获取到分布式全局事务XID的,但在下游节点就出现获取为NULL的情况,导致全局事务失效,出现异常时无法正常回......
  • SpringCloudGateway网关整合swagger3+Knife4j3,basePath丢失请求404问题
    很多人都是照着别人的文章粘代码,我也是粘的,但是这样粘也会有问题,我搞这个Knife4j3的时候遇到两个问题,这里记录一下:第一个是basePath丢失,第二个解决basePath丢失完又引发了会引起application/json数据类型参数示例的问题。在集成SpringCloudGateway网关的时候,会出现没有basePat......
  • SpringCloud专题面试
    1.微服务架构优缺点1)单体应用开发的效率比较低,由于代码量大,项目启动缓慢,部署麻烦,后期难以维护。2)服务拆分分为多个小应用,提高了开发效率,降低了代码的耦合程度,不同的服务可以采用不同的语言,提高了灵活性;小的改动进行快捷部署,方便维护。3)拆分的依据原则就是高内聚低耦合,每个服......
  • SpringCloud Sentinel原理介绍
    SpringCloud微服务保护技术一般都是:Hystrix和Sentinle,早期比较流行的是Hystrix框架,但目前国内实用最广泛的还是阿里巴巴的Sentinel框架,我们对这两种常见技术进行对比:SentinelHystrix隔离策略信号量隔离线程池隔离/信号量隔离熔断降级策略基于慢调用比例或异常比例基于失败比率实......
  • 服务链路追踪 —— SpringCloud Sleuth
    Sleuth简介随着业务的发展,系统规模变得越来越大,微服务拆分越来越细,各微服务间的调用关系也越来越复杂。客户端请求在后端系统中会经过多个不同的微服务调用来协同产生最后的请求结果,几平每一个请求都会形成一个复杂的分布式服务调用链路,在每条链路中任何一个依赖服务出现延迟超......
  • Netflix之Ribbon
    一、负载均衡1、背景当系统面临大量的用户访问,负载过高的时候,通常会增加服务器数量来进行横向扩展(集群),多个服务器的负载需要均衡,以免出现服务器负载不均衡,部分服务器负载较大,部分服务器负载较小的情况。通过负载均衡,使得集群中服务器的负载保持在稳定高效的状态,从而提高整个系统......