0


全网最清晰 SpringCloud-Eureka Server流程

一般我们Server端会像下图一样,引入Eureka,下面就通过这个来分析Eureka服务端源码流程
在这里插入图片描述

一、服务端自动配置
@EnableEurekaServer会引入EurekaServerMarkerConfiguration类
EurekaSeverMarkerConfiguration最终会引入Marker对象,这就是一个标记对象
在这里插入图片描述

二、SpringBoot 加载EurekaServerAutoConfiguration
SpringBoot会在启动的时候加载 spring-cloud-netflix-eureka-server端下面的META-INF下面的EurekaServerAutoConfiguration
让我们来看看这个类
在这里插入图片描述

在@ConditionalOnBean这里我们就会发现当时加的Marker多有用了

三、EurekaServerAutoConfiguration和EurekaClientAutoConfiguration详解
这里为什么要加入EurekaClientAutoConfiguration那?由于spring-cloud-eureka-server也需要进行网络通信,所以会引入Eureka Client包,最终会导致EurekaClientAutoConfiguration的导入
EurekaClientAutoConfiguration这个类通过 @configuration和@bean,引入了很多Eureka Client端源码中常见的组件
3.1 实例管理组件
在这里插入图片描述

ApplicationInfoManager 实例管理器, Eureka-server会依赖Eureka-client,Eureka client又会导入EurekaClientAutoConfiguration,这个类会导入实例管理器
在这里插入图片描述

里面的实例信息为:
在这里插入图片描述

3.2 Eureka client实例
Eureka Server在运行的时候,也需要eureka client,因为它也需要向其他server进行网络通信
在这里插入图片描述

3.3 Client端 服务注册组件
在这里插入图片描述

EurekaServerAutoConfiguration这个类通过 @configuration和@bean,引入了很多Eureka Server端源码中常见的组件
3.3 Server端 服务发现、注册组件
在这里插入图片描述

完成后续的服务端启动的时候,从相邻节点拉取全量的注册表信息

3.4 Server集群节点管理组件
在这里插入图片描述

集群节点配置信息,当server端新增节点的时候,都是要向相邻节点注册上去的

3.5 Eureka Server上下文
在这里插入图片描述

3.6 Eureka Server BootStrap组件
在这里插入图片描述

3.7 Server端 接收请求组件,类似于springmvc的 controller
在这里插入图片描述

3.8 Eureka Server初始化组件
在这里插入图片描述

四、Server端完整流程(最重要)
上面这些组件都准备好了,server端就要开始启动了,看看入口在哪里,有哪些流程?
4.1 Server服务注册
一般来说,server启动完成后,会向其他server端进行服务注册,这一步在那里?其实就是我们上面说的
EurekaAutoServiceRegistration
在这里插入图片描述

它的start会完成向服务端注册, 如果想继续追源码的话,它最终调用的是instanceInfoReplicator.onDemandUpdate();
在这里插入图片描述
在这里插入图片描述

4.2 Server定时注册
在这里插入图片描述

4.2 Server服务发现
Server端的服务发现和Client端的服务发现是不一样的,Server端的服务发现是要从相邻的server节点拉取注册表
上面不是引入一个EurekaServerInitializerConfiguration
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

这里非常重要,通过调用PeerAwareInstanceRegistry的syncUp来同步相邻节点的注册表信息
4.3 心跳续约
在DiscoveryClient中,会创建定时调度的任务,去完成心跳续约
在这里插入图片描述


本文转载自: https://blog.csdn.net/LittleStar_Cao/article/details/135372646
版权归原作者 上海第一shen 深情 所有, 如有侵权,请联系我们删除。

“全网最清晰 SpringCloud-Eureka Server流程”的评论:

还没有评论