Eureka Server启动过程分析
2012 年 10 月 21 日
**3.3 **EurekaServerContext
向容器中注入了EurekaServerContext的对象,具体为DefaultEurekaServerContext。翻阅DefaultEurekaServerContext源码中,我们发现它通过Spring的@PostConstruct注解调用了peerEurekaNodes对象的start()方法
具体在看一下64行调用的peerEurekaNodes.start()方法做了哪些操作
首先,定义了一个线程池Eureka-PeerNodesUpdater——Eureka的更新对等节点线程,最终start方法会开启这个线程,不停调用93行所指向的updatePeerEurekaNodes()方法。
这个updatePeerEurekaNodes()方法会更新对等节点信息,因为EurekaServer节点可能会不断的变化(比如,Eureka集群中某个节点的上下线)
而updatePeerEurekaNodes()方法主要做了什么呢?
其实就是Removing no longer available peer nodes和Adding new peer nodes。
至此,总结一下,EurekaServerContext的实例化过程,会启动更新远程对等节点的线程,不时的刷新远程对等节点的信息。