一、Eureka服务注册与发现概述

Eureka是Netflix开发的一款基于REST的服务发现框架,它有着高可用性、容错性和弹性伸缩能力,是Spring Cloud体系中最重要的组件之一。它的核心功能是服务注册和发现,即服务提供者在启动时将自己的信息注册到Eureka Server,而服务消费者在启动时从Eureka Server获取服务提供者的信息,从而实现服务发现。

二、Eureka服务注册过程

1、服务提供者启动时,会向Eureka Server发送一个心跳(Heart Beat),告知它自己的信息,比如IP地址和端口号等;

2、Eureka Server收到心跳之后,会将服务提供者的信息存储在自己的注册表中,这个过程称为服务注册,服务提供者就会出现在Eureka Server的服务注册表中;

3、服务提供者定时(默认30秒)向Eureka Server发送心跳,告知它自己仍然是活着的;

4、如果Eureka Server在一定时间内(默认90秒)没有收到某个服务提供者的心跳,那么Eureka Server将注销该服务提供者;

三、Eureka服务发现过程

1、服务消费者在启动时,会从Eureka Server获取服务注册表;

2、服务消费者从服务注册表中获取服务提供者的信息,并以此建立起服务调用链路;

3、服务消费者定时(默认30秒)从Eureka Server获取服务注册表,以获取最新的服务提供者信息;

4、服务消费者在发起RPC调用时,可以基于负载均衡算法,从服务提供者列表中选取一个提供者进行调用;