简介
说明
关闭了微服务之后,请求实际还会进来。本文介绍为什么会出现这种现象以及如何解决这个问题。
概述
关闭了微服务之后,请求实际还会进来。所有服务的状态保存在注册中心,即 Eureka Server。
所有服务的状态保存在注册中心,即 Eureka Server。一个服务要想获取其他服务的实例列表和状态,需要通过 Eureka Client 定时从 Eureka Server 中获取并缓存下来,默认时间间隔是30秒。Eureka Client 和 Eureka Server 是通过 HTTP 协议通信,请求由 Eureka Client 发起,而不是基于长连接或者 Eureka Server 主动推送,所以无法立即知道其他服务状态变更。
影响1:网关还会调用本微服务
网关其实也是个微服务,也是从Eureka Server上获取微服务信息的,所以也会有延迟。
影响2:其他微服务还会调用本微服务
当其中一个服务实例重启时,服务调用方是无法第一时间知道的,所以还是会调用到这台暂时无法提供服务的实例上。这样会造成短暂的访问失败,这段时间也会对正在使用产品的用户造成一定的影响。
请先
!