SpringCloud复习:(1)netflix包里的DiscoveryClient类
  Ta2cNb9VdLMk 2023年11月13日 15 0


DiscoveryClient类实现了EurekaClient接口

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


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

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

SpringCloud复习:(1)netflix包里的DiscoveryClient类_1024程序员节_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类_定时任务_09


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


getEurekaServerServiceUrls用来获取服务器地址:

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


【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月13日 0

暂无评论

推荐阅读
Ta2cNb9VdLMk