跳到主要内容

Eureka(2)-- Eureka Server 自我保护源码分析

修改续租时间会打破自我保护机制
https://github.com/spring-cloud/spring-cloud-netflix/issues/373

1.appName配置@EnableEurekaServer

@SpringBootApplication
@EnableEurekaServer
@RestController
public class Application {

@RequestMapping("ping")
public String ping() {
return "hello eureka";
}

public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}

}

2.EnableEurekaServer中引入了@Import(EurekaServerConfiguration.class)

@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Import(EurekaServerConfiguration.class)
public @interface EnableEurekaServer {

}

3.EurekaServerConfiguration中引入EurekaServerInitializerConfiguration

@Configuration
@Import(EurekaServerInitializerConfiguration.class)
@EnableDiscoveryClient
@EnableConfigurationProperties(EurekaDashboardProperties.class)
@PropertySource("classpath:/eureka/server.properties")
public class EurekaServerConfiguration extends WebMvcConfigurerAdapter {

4.EurekaServerInitializerConfiguration实现了SmartLifecycle,再所有bean都被初始化后执行start()方法。