SpringCloud | Eureka-服务注册与发现(2)

158 阅读2分钟

Eureka基本概念

  • 服务注册Register 当Eureka客户端向Eureka Server注册时,提供自身的元数据,包括:ip地址、端口、URL、主页等
  • 服务续约 Renew Eureka 客户会每隔30秒(默认情况下)发送一次心跳来续约。通过续约来告知Eureka Server该 Eureka 客户仍然存在,没有出现问题。正常情况下,如果Eureka Server在90秒没有收到 Eureka 客户的续约,它会将实例从其注册表中删除。
  • 获取注册列表信息 Fetch Registries Eureka 客户端从服务器获取注册表信息,并将其缓存在本地。客户端会使用该信息查找其他服务,从而进行远程调用。该注册列表信息定期(每30秒钟)更新一次。每次返回注册列表信息可能与 Eureka 客户端的缓存信息不同, Eureka 客户端自动处理。如果由于某种原因导致注册列表信息不能及时匹配,Eureka 客户端则会重新获取整个注册表信息。Eureka 服务器缓存注册列表信息,整个注册表以及每个应用程序的信息进行了压缩,压缩内容和没有压缩的内容完全相同。Eureka 客户端和 Eureka 服务器可以使用JSON / XML格式进行通讯。在默认的情况下 Eureka 客户端使用压缩JSON格式来获取注册列表的信息。
  • 服务下线 Cancel Eureka客户端在程序关闭时向Eureka服务器发送取消请求。发送请求后,该客户端实例信息将从服务器的实例注册表中删除。该下线请求不会自动完成,它需要调用以下内容:DiscoveryManager.getInstance().shutdownComponent();
  • 服务剔除 Eviction 在默认的情况下,当Eureka客户端连续90秒(3个续约周期)没有向Eureka服务器发送服务续约,即心跳,Eureka服务器会将该服务实例从服务注册列表删除,即服务剔除

Eureka服务分区

todo