EurekaNetflix发的一个发现框架,本身一个基于REST的,主要用于定位运行在AWS(AmazonWebServices)域中的中间层,以达到负载均衡和中间层故障转移的目的。SpringCloud将其集成在自己的子SpringCloudNetflix中,以实现SpringCloud的发现功能。
Eureka的发现包含两组件:端发现组件(EurekaServer)和客户端发现组件(EurekaClient)。端发现组件也被称之为注册中心,主要了的注册功能,而客户端发现组件主要用于处理的注册与发现。Eureka的发现机制如图4-2所示。
Eureka的发现机制
从上图中可以看出,当客户端通过注解等嵌入到程序的代码中运行时,客户端发现组件就会向
注册中心注册自身的,并周期性地心跳来更新(默认时间为30s,如果连续三次心跳都不能够发现,那么Eureka就会将这个节从注册表中移除)。与此同时,客户端发现组件还会从端查询当前注册的信息并缓存到本地,即使EurekaServer出现了问题,客户端组件也可以通过缓存中的信息调用节的。各个之间会通过注册中心的注册信息以Rest来实现调用,并且可以直接通过名进行调用。
Eureka的发现机制包含了3个角:注册中心、者和。这3个角之间的关系如下图所示。
Eureka中的角
springcloud和springboot上图中,注册中心即EurekaServer,而者和EurekaClient。这里的者指的应用,可以SpringB
oot应用,也可以其他技术且遵循Eureka通信机制的应用,应用在运行时会自动地将自己的注册到EurekaServer以供其他应用发现。
就需要的应用,该在运行时会从注册中心获取列表,然后通过列表知道去何处调用其他。会与注册中心保持心跳连接,一旦者的发生变更时,注册中心会通知。
需要注意的,Eureka者和之间的角可以相互转换的,因为一个既可能,同时也可能者。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论