新闻资讯

新闻资讯 行业动态

Eureka的核心概念

编辑:008     时间:2020-02-26

1、Eureka Server:注册中心服务端

注册中心服务端主要对外提供了三个功能:

(1)服务注册

服务提供者启动时,会通过Eureka Client向Eureka Server注册信息,Eureka Server会存储该服务的信息,Eureka Server内部有二层缓存机制来维护整个注册表。

(2)提供注册表

服务消费者在调用服务时,如果Eureka Client没有缓存注册表的话,会从Eureka Server获取最新的注册表。

(3)同步状态

Eureka Client通过注册、心跳机制和Eureka Server同步当前客户端的状态。

2、Eureka Client:注册中心客户端

Eureka Client是一个java客户端,用于简化与Eureka Server的交互。Eureka Client会拉取、更新、缓存Eureka Server中的信息。因此当所有的Eureka Server节点都宕掉,服务消费者依然可以使用缓存中的信息找到服务的提供者,但是当服务有更改的时候会出现信息不一致。

3、Register:服务注册

服务的提供者,将自身注册到注册中心,服务提供者也是一个Eureka Client。当Eureka Client向Eureka Server注册时,它提供自身的元数据,比如IP地址、端口、运行状况指示符URL、主页等。

4、Renew:服务续约

Eureka Client会每隔30秒发送一次心跳来续约。通过续约来告知Eureka Server该Eureka Client运行正常,没有出现问题。默认情况下,如果Eureka Server在90秒内没有收到Eureka Client的续约,Server端会将实例从其注册表中删除,此事件可配置,一般情况不建议更改。

5、Eviction服务剔除

当Eureka Client和Eureka Server不再有心跳时,Eureka Server会将服务实例从服务注册列表中删除,即服务剔除。

6、Cancel:服务下线

Eureka Client在程序关闭时想Eureka Server发送取消请求,发送请求后,该客户端实例信息将从Eureka Server的实例注册表中删除。该下线请求不会自动完成,它需要调用一下内容:

DiscoveryManager.getInstance().shutdownComponent();

7、GetRegistry:获取注册列表信息

Eureka Client从服务器获取注册表信息,并将其缓存在本地。客户端会使用该信息查找其他服务,从而进行远程调用。该注册列表信息定期(每30秒)更新一次。每次返回注册列表信息可能与Eureka Client的缓存信息不同,Eureka Client自动处理。

如果由于某种原因导致注册信息列表信息不能及时匹配,Eureka Client则会重新获取整个注册表信息。Eureka Server缓存注册列表信息,整个注册表以及每个应用程序的信息进行了压缩,压缩内容和没有压缩的内容完全相同。Eureka Client和Eureka Server可以使用JSON/XML格式进行通讯。在默认情况下Eureka Client使用压缩JSON形式来获取注册列表的信息。

8、Remote Call:远程调用

当Eureka Client从注册中心获取到服务提供者信息后,就可以通过HTTP请求调用对应的服务;服务提供者有多个时,Eureka Client客户端会自动通过Ribbon自动进行负载均衡。



原文链接:https://my.oschina.net/u/4006148/blog/3169283

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。

回复列表

相关推荐