DiscoveryClient类实现了EurekaClient接口
它的主要作用:服务注册,服务续约,服务下线,获取服务列表。
initScheduledTasks方法用来开启定时任务来完成上述功能。
上图中的代码用来从服务器定期(默认30秒)拉取服务列表(ScheduledExecutorService的应用场景)
其中TimedSupervisorTask 这个Runnable的run方法代码如下:
服务注册和发心跳信息也在initScheduledTasks方法中,代码如下:
其中InstanceInfoReplicator是一个Runnable,它的run方法代码如下:
其中调用的discoveryClient的register方法代码如下:
这个register方法调用之后,就完成了服务的注册EurekaClientConfigBean类封装了Eureka相关的配置信息
getEurekaServerServiceUrls用来获取服务器地址: