eureka

客户端原理流程分析

pom引入

org.springframework.cloud

spring-cloud-starter-netflix-eureka-client


一、服务注册


1、主要实现类为EurekaAutoServiceRegistration、EurekaServiceRegistry

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


eureka_第1张图片

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

eureka_第2张图片

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


1、主要注入类:EurekaClientAutoConfiguration

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

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

eureka_第3张图片

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

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

eureka_第4张图片

你可能感兴趣的:(eureka)