eureka

客户端原理流程分析

pom引入

<groupId>org.springframework.cloud</groupId>

<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>


一、服务注册


1、主要实现类为EurekaAutoServiceRegistration、EurekaServiceRegistry

2、EurekaAutoServiceRegistration实现了SmartLifecycle接口,Spring加载和初始化所有bean会调用其start方法,register过程中setInstanceStatus


3、notify时调用InstanceInfoReplicator.onDemandUpdate(),最终实现逻辑在DiscoveryClient实现http的register过程。

二、心跳逻辑与实例列表获取


1、主要注入类:EurekaClientAutoConfiguration

2、注入CloudEurekaClient类时,会调用其父类 DiscoveryClient 的构造方法

3、DiscoveryClient 会分别初始化heartbeat、cacheRefresh线程池,结尾时调用initScheduledTasks创建定时任务

4、HeartbeatThread心跳任务最终调用 DiscoveryClient.renew方法

5、CacheRefreshThread缓存实例列表任务最终调用DiscoveryClient.fetchRegistry方法,进行全量拉取或者增量拉取

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。