Spring Cloud-Eureka的一些概念
Eureka的一些概念
- Register--服务注册
当Eureka Client向Eureka Server注册时, Eureka Client提供自身的元数据, 比如IP地址、端口号、运行状况指标的URL、主页地址等信息 - Renew--服务续约
Eureka Client在默认情况下会每隔30s发送一次心跳来进行服务续约, 通过服务续约来告知Eureka Server该Eureka Client仍然可用, 没有出现故障. 正常情况下, 如果Eureka Server在90s内没有收到Eureka Client发送的心跳, Eureka Server会将Eureka Client实例从列表中删除. 注意:官方建议不要修改服务续约的间隔时间 - Fetch Registries--获取服务注册列表信息
Eureka Client从Eureka Server中获取服务注册列表信息, 并将其缓存到本地. Eureka Client会使用服务注册列表查找其他服务的信息, 从而进行远程调用. 该注册列表信息定时(每30s)更新一次, 每次返回的列表信息可能会与本地缓存的信息不同, Eureka Client会自己处理这些信息. 如果因为某种原因导致注册列表信息不能及时匹配, Eureka Client会重新获取整个注册列表信息. Eureka Server缓存了所有的服务注册列表的信息, 并将每个注册列表以及每个应用程序的信息进行了压缩, 压缩内容和没有压缩的内容完全相同. Eureka Client和Eureka Server可以使用JSON和XML进行交互通信, 在默认情况下, Eureka Client使用JSON格式的方式来获取服务注册列表信息. - Cancel--服务下线
Eureka Client在服务关闭时可以向Eureka Server发送下线请求, 发送请求后, 该客户端的实例信息将会从Eureka Server的服务注册列表信息中删除, 该下线请求不会自动完成, 需要在程序关闭时调用以下代码:
DiscoveryManager.getInstance().shutdownComponent();
- Eviction--服务剔除
默认情况下, 当Eureka Client连续90s没有向Eureka Server发送服务续约请求(即心跳), Eureka Server会将该服务从服务注册列表中剔除, 即服务剔除.