天天看点

《Spring Cloud Netflix》--服务注册和服务发现-Eureka的深入了解

《Spring Cloud Netflix》--服务注册和服务发现-Eureka的深入了解

Eureka的流程说明:

1、服务提供者会向Eureka Server做Register(服务注册)、Renew(服务续约)、Cancel(服务下线)等操作。

2、Eureka Server之间会做注册服务的Replicate(复制),从而保证状态一致。

3、服务消费者会向Eureka Server获取Registry(注册服务列表),并Make Remote Call(远程调用)消费服务

一、Eureka服务端启动过程

 1、  入口:EurekaServerInitializerConfiguration

《Spring Cloud Netflix》--服务注册和服务发现-Eureka的深入了解

说明:该类添加了@Configuration注解,可以被Spring容器感知。

  2、  Eureka的初始化:

《Spring Cloud Netflix》--服务注册和服务发现-Eureka的深入了解

说明:

   a)initEurekaEnvironment(); 环境的初始化。

   b) initEurekaServerContext();服务的初始化。

3、查找服务初始化,里面的Eviction

《Spring Cloud Netflix》--服务注册和服务发现-Eureka的深入了解
《Spring Cloud Netflix》--服务注册和服务发现-Eureka的深入了解
《Spring Cloud Netflix》--服务注册和服务发现-Eureka的深入了解
《Spring Cloud Netflix》--服务注册和服务发现-Eureka的深入了解

二、 Eureka客户端注册过程

   客户端注册流程

《Spring Cloud Netflix》--服务注册和服务发现-Eureka的深入了解

1、入口:DiscoveryClient

《Spring Cloud Netflix》--服务注册和服务发现-Eureka的深入了解

功能说明:

     1、  向Eureka Server注册服务实例

     2、  向Eureka Server续约

     3、  当服务关闭的时候向Eureka Server取消租约

     4、  查询注册到Eureka Server中的服务实例

2、实例化,调用构造方法

《Spring Cloud Netflix》--服务注册和服务发现-Eureka的深入了解
《Spring Cloud Netflix》--服务注册和服务发现-Eureka的深入了解
《Spring Cloud Netflix》--服务注册和服务发现-Eureka的深入了解
《Spring Cloud Netflix》--服务注册和服务发现-Eureka的深入了解
《Spring Cloud Netflix》--服务注册和服务发现-Eureka的深入了解
《Spring Cloud Netflix》--服务注册和服务发现-Eureka的深入了解
《Spring Cloud Netflix》--服务注册和服务发现-Eureka的深入了解

三、服务端接收注册过程

接收注册的流程:

《Spring Cloud Netflix》--服务注册和服务发现-Eureka的深入了解

1、入口:ApplicationResource的addInstance()方法

《Spring Cloud Netflix》--服务注册和服务发现-Eureka的深入了解
《Spring Cloud Netflix》--服务注册和服务发现-Eureka的深入了解
《Spring Cloud Netflix》--服务注册和服务发现-Eureka的深入了解
《Spring Cloud Netflix》--服务注册和服务发现-Eureka的深入了解

说明:

1、 调用PeerAwareInstanceRegistryImpl的register方法

2、 完成服务注册后,调用replicateToPeers向其它Eureka Server节点(Peer)做状态同步

参考文档:http://nobodyiam.com/2016/06/25/dive-into-eureka/

关注微信:

《Spring Cloud Netflix》--服务注册和服务发现-Eureka的深入了解

继续阅读