整体架构图
Eureka Server:Eureka服务端(注册中心)
AP(自我保护机制,保证可用),Eureka为了保证注册中心的高可用性,舍弃了数据的强一致性,服务节点间的数据可能不一致,,适用于对注册中心服务可用性要求较高的使用场景。
核心功能
- 服务注册: 服务提供者启动时,会通过Eureka Client向Eureka Server注册信息,Eureka Server会存储该服务的信息,Eureka Server内部使用两层缓存机制来维护整个注册表
- 提供注册表:服务消费者在调用服务时,如果Eureka Client没有缓存注册表的话,会从Eureka Server获取最新的注册表
- 同步状态:Eureka Client通过注册、心跳机制和Eureka Server同步当前客户端的状态
自我保护机制:目的:防止误杀服务,Eureka Server在运行期间会去统计心跳失败比例在一定时间之内(默认15分钟)是否低于85%,如果低于则进入自我保护机制,当客户端心跳恢复时,Eureka Server会自动退出保护机制。进入自我保护机制,会出现一下几种情况:
服务注册:将自身注册到注册中心
- 服务续约:Client每隔一定时间(默认30s)发送一次心跳请求进行续约,告知Eureka Server自身的运行情况。如果Eureka Server在一定时间(默认90s)没有收到Client的续约心跳请求,Server端会将实例从注册表中剔除。