天天看点

Eureka启动过程分析

pom文件中添加spring-cloud-starter-netflix-eureka-server依赖,springboot启动类上加上@EnableEurekaServer注解,运行启动类之后我们就有了一个Eureka注册中心。中间是怎么运行的呢?让我们从@EnableEurekaServer注解开始一探究竟。

Eureka启动过程分析
Eureka启动过程分析

这个注解为我们注册了一个空的springbean marker,其他的什么也没有做。其实这里用到了springboot的自动化配置,

Eureka启动过程分析

注册中心的自动化配置类是org.springframework.cloud.netflix.eureka.server.EurekaServerAutoConfiguration,注册中心的配置和启动就是从这个类开始的

Eureka启动过程分析

其中的几个类

EurekaServerConfig: 封装eureka.server为前缀的配置

EurekaController:主要是访问Eureka控制台的

ServerCodecs:配置数据传输的格式的帮助类,支持JSON和XML两种格式

PeerAwareInstanceRegistry: 负责eureka-server集群节点中的信息同步的接口

PeerEurekaNodes集群节点信息,管理节点(如添加、减少时)

EurekaServerContext:EurekaServerContext上下文

EurekaServerBootstrap:初始化eureka server的启动,EurekaServerInitializerConfiguration的start方法调用

Application:创建一个jersey应用。构建RESTful服务,扫描com.netflix.discovery,com.netflix.eureka包下所有被@Path和@Provider修饰的资源,封装成Jersey ResourceConfig

FilterRegistrationBean:注册过滤器,将 jersey application资源封装成ServletContainer(实现了Filter接口)

继续阅读