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 这个类,代码如下:

public class EurekaServerMarkerConfiguration {
    public EurekaServerMarkerConfiguration() {
    }

    @Bean
    public EurekaServerMarkerConfiguration.Marker eurekaServerMarkerBean() {
        return new EurekaServerMarkerConfiguration.Marker();
    }

    class Marker {
        Marker() {
        }
    }
}


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

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

小结

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

图片

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

码农UP2U

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值