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

DiscoveryClient类实现了EurekaClient接口
SpringCloud复习:(1)netflix包里的DiscoveryClient类_第1张图片
它的主要作用:服务注册,服务续约,服务下线,获取服务列表。
initScheduledTasks方法用来开启定时任务来完成上述功能。
SpringCloud复习:(1)netflix包里的DiscoveryClient类_第2张图片
上图中的代码用来从服务器定期(默认30秒)拉取服务列表(ScheduledExecutorService的应用场景)
其中TimedSupervisorTask 这个Runnable的run方法代码如下:
SpringCloud复习:(1)netflix包里的DiscoveryClient类_第3张图片
服务注册和发心跳信息也在initScheduledTasks方法中,代码如下:
SpringCloud复习:(1)netflix包里的DiscoveryClient类_第4张图片
SpringCloud复习:(1)netflix包里的DiscoveryClient类_第5张图片
SpringCloud复习:(1)netflix包里的DiscoveryClient类_第6张图片

其中InstanceInfoReplicator是一个Runnable,它的run方法代码如下:
SpringCloud复习:(1)netflix包里的DiscoveryClient类_第7张图片
其中调用的discoveryClient的register方法代码如下:
SpringCloud复习:(1)netflix包里的DiscoveryClient类_第8张图片
这个register方法调用之后,就完成了服务的注册

EurekaClientConfigBean类封装了Eureka相关的配置信息
SpringCloud复习:(1)netflix包里的DiscoveryClient类_第9张图片
SpringCloud复习:(1)netflix包里的DiscoveryClient类_第10张图片
getEurekaServerServiceUrls用来获取服务器地址:
SpringCloud复习:(1)netflix包里的DiscoveryClient类_第11张图片

你可能感兴趣的:(SpringCloud,1024程序员节)