学科分类
目录
Spring Cloud

Eureka工作原理

Spring Cloud框架下的服务发现Eureka包含两个组件,分别是Eureka Server与Eureka Client,其中:

(1)Eureka Server:服务注册服务器,也称为服务注册中心。各个服务启动后,会在Eureka Server中进行注册,这样Eureka Server的服务注册表中将会存储所有可用服务节点的信息,服务节点的信息可以在界面中直观的看到。

(2)Eureka Client:也称为服务(服务实例)。作为一个Java客户端,用于简化与Eureka Server的交互。Eureka Client内置一个使用轮询负载算法的负载均衡器。服务启动后,Eureka Client将会向Eureka Server发送心跳更新服务,如果Eureka Server在多个心跳周期内没有接收到某个服务的心跳,Eureka Server将会从服务注册表中把这个服务节点移除(默认90秒)。

为了更好地理解Eureka 组件的工作原理,接下来通过一张图来描述,具体如图1所示。

图1 Eureka组件的工作原理

在图1中,Eureka Client注册在Eureka Server,Eureka Client中的服务Service是通过REST调用的。除此之外,Eureka Client还具有缓存功能,它能够从Eureka Server查询当前注册的服务信息并缓存到本地,这样即使Eureka Server宕机,Eureka Client依然可以利用缓存中的信息调用服务。

综上所述,Eureka正是通过心跳检查、缓存更新等机制,确保系统具有高可用性、灵活性和可伸缩性。

点击此处
隐藏目录