Eureka源码解析:eureka-client启动原理分析

Posted 魏卯卯

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Eureka源码解析:eureka-client启动原理分析相关的知识,希望对你有一定的参考价值。

在eureka-examples项目中存在一个ExampleEurekaClient类,是eureka自带的例子。我们基于此类来跟踪源码。

其实在eureka-server中已经涉及到了eureka-client的一个启动流程了,我们再来进行捋一遍。

流程图:

源码分析:

ExampleEurekaClient,相当于是一个你自己写的普通的服务

(1)读取eureka-client.properties配置文件,形成一个服务实例的配置,基于接口对外提供服务实例的配置项的读取。

(2)基于服务实例的配置,构造了一个服务实例(InstanceInfo)。

(3)基于服务实例的配置和服务实例,构造了一个服务实例管理器(ApplicationInfoManager)。

(4)读取eureka-client.properites配置文件,形成一个eureka client的配置,接口接口对外提供eureka client的配置项的读取。

(5)基于eureka client配置,和服务实例管理器,来构造了一个EurekaClient(DiscoveryClient),保存了一些配置,处理服务的注册和注册表的抓取,启动了几个线程池,启动了网络通信组件,启动了一些调度任务,注册了监控项。

以上是关于Eureka源码解析:eureka-client启动原理分析的主要内容,如果未能解决你的问题,请参考以下文章

深入 Eureka 服务注册 源码分析

Eureka-client 无法调用另一个 Eureka-client,抛出 UnknownHostException

Eurake源码分析(十一) 增量获取

SpringCloud之Eureka-Client服务提供者

Eureka源码分析(十二) 网络通信

Eureka-server配置servlet.context-path后导致Eureka-client注册到server问题