Eureka服务端

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

一、服务端配置

@EnableEurekaServer会引入EurekaServerMarkerConfiguration类

EurekaSeverMarkerConfiguration最终会引入Marker对象,这就是一个标记对象

二、SpringBoot 加载EurekaServerAutoConfiguration

SpringBoot会在启动的时候加载 spring-cloud-netflix-eureka-server端下面的META-INF下面的EurekaServerAutoConfiguration

让我们来看看这个类

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

三、EurekaServerAutoConfiguration和EurekaClientAutoConfiguration详解

这个类通过 @configuration和@bean,引入了很多Eureka源码中常见的组件

3.1 实例管理组件

ApplicationInfoManager 实例管理器, Eureka-server会依赖Eureka-client,Eureka client又会导入EurekaClientAutoConfiguration

这个类会导入实例管理器,

里面的实例信息为:

3.2 Eureka client实例

Eureka Server在运行的时候,也需要eureka client,因为它也需要向其他server进行网络通信

3.3 client端 服务注册组件

3.2 server端 服务发现、注册组件

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

3.3 集群节点管理组件

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

3.4 eureka server上下文

Server端 接收请求组件,类似于springmvc的 controller

3.6 EurekaServer初始化组件

四、Server端完整流程(最重要)

上面这些组件都准备好了,server端就要开始启动了,看看入口在哪里,有哪些流程?

4.1 服务注册

一般来说,server启动完成后,会向其他server端进行服务注册,这一步在那里?其实就是我们上面说的

EurekaAutoServiceRegistration

它的start会完成向服务端注册

4.2 服务发现

Server端的服务发现和Client端的服务发现是不一样的,Server端的服务发现是要从相邻的server节点拉取注册表

上面不是引入一个EurekaServerInitializerConfiguration


这里非常重要,通过调用PeerAwareInstanceRegistry

的syncUp来同步相邻节点的注册表信息

相关推荐
KIDULT°6 小时前
Kubeadm 部署 Kubernetes v1.30.2 实战:Ubuntu24.04 三节点集群 + 排坑记录
ubuntu·云原生·容器·kubernetes·k8s
逃逸线LOF7 小时前
Cloud服务注册中心异同点对比Nacos|Eureka|zookeeper|consul
zookeeper·eureka·consul
阿里云云原生1 天前
AgentLoop 审计:如何让企业级 Dify 应用的风险看得见、查得清
云原生·agent
阿里云云原生1 天前
云栖实录丨云监控 2.0 让 Agent 看懂系统,也能看懂 Agent
云原生
东风微鸣1 天前
如何发现 K8s 集群里的无用资源?
云原生·容器·kubernetes
恒拓高科WorkPlus1 天前
私有化IM技术选型:商业平台、开源IM和IM PaaS怎么选?
云原生·开源·paas
system_error_x1 天前
服务器的替代方案:从物理机到云原生的全面对比
运维·服务器·云原生
朗尊软件技术团队1 天前
电商系统Docker容器化部署实践:从Dockerfile镜像瘦身到K8s滚动上线
运维·docker·云原生·容器·kubernetes
wzq11_6661 天前
Prometheus监控——云原生与非云原生监控
云原生·prometheus
DolitD1 天前
水利数字孪生走向深水区,点量云流实时云渲染落地实践
安全·云原生·云计算·图形渲染