微服务引擎MSE

服务实例已关闭,但是还在被其他应用调用

2025-06-12 03:05:31

本文介绍服务提供者关闭后还在被其他应用调用的解决方案。

问题现象

其他应用调用依赖的服务时报错,错误信息显示仍然在调用一个已经下线或停止的服务实例的IP地址。

可能原因

服务实例并未彻底关闭,进程仍然存在并发送心跳维持连接,导致Nacos未摘除服务实例。或有额外的应用进程在发送心跳维持连接,导致Nacos未摘除服务实例。

停止服务实例后,该服务已经没有可用的提供者,触发了推空保护

网络问题或订阅者应用有问题,导致Nacos-Client未获取到最新的服务实例列表。

Nacos-Client已经获取到最新的服务实例地址,但应用未使用(如有路由规则、权重规则、框架缓存等)。

解决方案

(1) 在MSE控制台查看该服务提供者是否还存在,具体操作方式参考服务管理

(2) 如果控制台上仍然能看到该服务提供者IP,则解决方案请参考 #5.1.2.16 控制台还能查到不存在的服务实例IP如何处理的

(3) 如果控制台上已经看不到该服务提供者IP,且服务下已经没有服务提供者或所有服务提供者均为下线状态,那么应该是触发了推空保护,可以关闭推空保护。

(4) 如果控制台上已经看不到该服务提供者IP,但服务下仍有其他非下线状态的服务提供者,则解决方案可以参考#5.1.2.18 应用服务调用的服务实例与预期不符


YoofmmeWfnB2