一、spring-boot自动加载Eureka-Server端入口
2、分析 EurekaServerAutoConfiguration类做了什么
- 2.1 初始化EurekaServerConfig接口的实现类EurekaServerConfigBean,可以通过application.properties文件
改变其默认值,比如自我保护机制
- 2.2 初始化EurekaController类,定义一些接口,用户获取Eureka Server的信息
- 2.3 初始化PeerAwareInstanceRegistry类,即集群注册表
- 2.4 初始化PeerEurekaNodes类,即集群节点集合
- 2.5 利用2.1,2.3,以及2.4的初始化类,创建Eureka Server的上下文
- 2.6 初始化spring cloud包装的Eureka原生启动类EurekaServerBootstrap类(后面会使用到)
- 2.7 初始化jersey过滤器
3、Spring-boot如何启动Eureka Server
4、初始化EurekaServer上下文的过程
4.1 集群环境同步相邻节点的注册表信息
4.2 服务续约功能的执行,默认60s执行一次
可以通过属性 eureka.server.eviction-interval-timer-in-ms 修改定时任务默认的执行时间
5、注册表的结构
//注册表的结构
// 外层map的key的值是 应用实例的名称 配置文件中spring.application.name=user
// 里层map的key值是 主机名:应用实例名:应用端口号
// 里层map的value值是 实例的相关具体信息
private final ConcurrentHashMap<String, Map<String, Lease<InstanceInfo>>> registry
= new ConcurrentHashMap<String, Map<String, Lease<InstanceInfo>>>();