Eureka的流程说明:
1、服务提供者会向Eureka Server做Register(服务注册)、Renew(服务续约)、Cancel(服务下线)等操作。
2、Eureka Server之间会做注册服务的Replicate(复制),从而保证状态一致。
3、服务消费者会向Eureka Server获取Registry(注册服务列表),并Make Remote Call(远程调用)消费服务
一、Eureka服务端启动过程
1、 入口:EurekaServerInitializerConfiguration
说明:该类添加了@Configuration注解,可以被Spring容器感知。
2、 Eureka的初始化:
说明:
a)initEurekaEnvironment(); 环境的初始化。
b) initEurekaServerContext();服务的初始化。
3、查找服务初始化,里面的Eviction
二、 Eureka客户端注册过程
客户端注册流程
1、入口:DiscoveryClient
功能说明:
1、 向Eureka Server注册服务实例
2、 向Eureka Server续约
3、 当服务关闭的时候向Eureka Server取消租约
4、 查询注册到Eureka Server中的服务实例
2、实例化,调用构造方法
三、服务端接收注册过程
接收注册的流程:
1、入口:ApplicationResource的addInstance()方法
说明:
1、 调用PeerAwareInstanceRegistryImpl的register方法
2、 完成服务注册后,调用replicateToPeers向其它Eureka Server节点(Peer)做状态同步
参考文档:http://nobodyiam.com/2016/06/25/dive-into-eureka/
关注微信: