Eureka Server开关流程

简介: Eureka Server开关流程

      Eureka Server 是 Netflix 开发的注册中心,Eureka Server 的配置搭建比较简单,通过一个简单的依赖,再通过在启动类上增加一个注解,还有简单的配置文件就可以了。那 SpringBoot 的项目是如何通过注解变成注册中心呢?其实流程比较简单,本文简单的整理了一下它的开关流程。


Eureka Server 开关流程

       使用 Eureka Server 时需要引入 Eureka Server 的 starter 依赖 spring-cloud-starter-netflix-eureka-server,这是最基本的一步。通过该 starter 依赖,Maven 会自动的下载其相关具体依赖,Eureka Server 的具体依赖是 spring-cloud-netflix-eureka-server。通过该依赖的 Jar 包中可以找到 spring.factories 的配置,该配置文件如下:

org.springframework.boot.autoconfigure.EnableAutoConfiguration=\org.springframework.cloud.netflix.eureka.server.EurekaServerAutoConfiguration

      通过上面的配置文件,我们来查找 EurekaServerAutoConfiguration 这个类。打开该类以后,在该类上有一个注解,该注解如下:

@ConditionalOnBean({Marker.class})

       到这一步就基本可以确定是否加载 EurekaServerAutoConfiguration 这个类了。


       接着,我们去看一下 @EnableEurekaServer 这个注解,该注解有一个 @Import 的注解,如下:

@Import({EurekaServerMarkerConfiguration.class})

      此时,看一下 EurekaServerMarkerConfiguration 这个类,代码如下:


publicclassEurekaServerMarkerConfiguration {
publicEurekaServerMarkerConfiguration() {
    }
@BeanpublicEurekaServerMarkerConfiguration.MarkereurekaServerMarkerBean() {
returnnewEurekaServerMarkerConfiguration.Marker();
    }
classMarker {
Marker() {
        }
    }
}

      从代码中可以看出,整个类什么具体的事都没有做,只实例化了一个 Marker 类。


       回到 @EnableEurekaServer 注解前面的流程,有一个 @ConditionalOnBean 的注解,该注解就表示如果内存中有 Market.class 类,则加载 EurekaServerAutoConfiguration 类,这样整个流程就串起来了。

小结

      上面的代码简单的看了 SpringBoot 项目如何变成 Eureka Server 的开关,这里我整理了一个简单的流程图,希望可以对大家有所帮助。

11111.png

相关文章
|
6月前
|
Nacos
Nacos 服务状态监听四种写发
Nacos 服务状态监听四种写发
190 0
|
Java
SpringCloud源码剖析-Eureka Server的自动配置
这里和EureakClientAutoConfiguration差不多,都是由主启动类上的@SpringBootApplication标签中的@EnableAutoConfiguration启动自动配置,通过AutoConfigurationImportSelector来扫描classpath下的starter包中的自动配置类
84 0
|
自然语言处理 Java
CoreNLP server的开启与使用方法
Ubuntu20.04.2系统本身不含有JDK,而CoreNLP需要依赖JDK进行运行,所以需要先安装好JDK,可以输入java,然后系统会自动提示没有安装JDK,并会推荐安装的版本
235 0
七.SpringCloud源码剖析-Eureka Server的自动配置
前面的章节我们针对于Eureak Client的初始化 ,服务注册 ,服务发现,服务续约,取消注册功能进行了分析,接下来我们围绕Eureka的核心功能对Server端进行分析,本章将会分析Eureka Server的启动过程。
七.SpringCloud源码剖析-Eureka Server的自动配置
|
存储 缓存 算法
八.SpringCloud源码剖析-Eureka Server初始化流程
上一章我们分析了一下EureakServer的自动配置,这章节我们来详细分析一下Eureak Server中的核心组件以及初始化流程
八.SpringCloud源码剖析-Eureka Server初始化流程
|
安全 Java Shell
Nacos服务自动关闭问题汇总
Nacos服务自动关闭问题汇总
1387 0
|
存储 缓存 算法
SpringCloud源码剖析-Eureka Server初始化流程
Eureka服务端上下文对象,包含了初始化,关闭,获取服务配置,获取集群节点,获取服务注册器,获取服务信息管理器等方法,默认实现类是DefaultEurekaServerContext
130 0
|
容灾 Java 微服务
SpringCloud升级之路2020.0.x版-20. 启动一个 Eureka Server 集群
SpringCloud升级之路2020.0.x版-20. 启动一个 Eureka Server 集群
SpringCloud升级之路2020.0.x版-20. 启动一个 Eureka Server 集群
|
应用服务中间件 Nacos
Nacos Server 启动日志
Nacos Server 启动日志
1349 0

热门文章

最新文章