MSE微服务引擎有2个服务已经不用,下线退出,nacos推空保护一直推送异常日志(NacosException:Trigger push empty protection for Service),但这2个服务已经不需要使用了,如何处理?
当有服务触发推空保护时,可以在服务消费者(Consumer)所处节点上的${user.home}/logs/nacos/naming.log日志中看到Trigger push empty protection for Service字样。
错误信息中包含触发推空保护的服务Service{namespace='XXX'、group='xx'、name='xxxxxxx'、ephemeral=true、revision=0},由此可以得知服务消费者已订阅哪个空服务。
正常情况下,该信息不会频繁出现,如果频繁出现,可根据以下情况进行排查和治理。
订阅不存在的服务。
如果应用订阅不存在的服务,需要排查该应用是否仍需要该依赖关系。如不需要,删除该无效依赖;如仍然需要,需重新发布上线该服务的提供者。
应用订阅的服务提供者为空。
查看该服务的提供者是否频繁掉线。
查看该服务的提供者是否与MSE Nacos集群的网络连接不健康,导致Nacos认为此服务的提供者已经下线。
-——参考阿里云官方文档。
确认这两个服务确实已经不再使用,并且已经从您的 MSE 微服务引擎中移除。如果您仍然收到关于这两个服务的异常日志,请检查它们是否仍然在您的服务注册表中注册。如果它们仍然在注册表中,请将它们从注册表中删除,以确保 Nacos 不会继续推送空保护异常日志。
如果您已经确认这两个服务不再使用,并且已经从服务注册表中删除,但仍然收到空保护异常日志,您可以尝试禁用 Nacos 的空保护功能。这样,即使您的服务注册表中没有服务,Nacos 也不会推送空保护异常日志。
如果以上方法都无法解决问题,建议您查看 Nacos 的官方文档,以获取更多关于空保护功能的信息。您也可以考虑在您的项目中使用其他服务注册和发现工具,以避免这个问题。
已经不需要使用MSE微服务引擎中的某些服务,您可以手动将其从MSE微服务引擎中移除。在MSE微服务引擎中,您可以使用管理控制台的“服务管理”功能来查看和管理您的服务。在该页面中,您可以选择要移除的服务,然后点击“移除”按钮来移除服务。移除服务后,MSE微服务引擎将不再将该服务注册到注册中心,并且不会收到关于该服务的任何通知。另外,如果您的服务已经下线,MSE微服务引擎可能会在一段时间后自动将其从注册中心中移除。如果您希望更快地移除服务,您可以使用“服务管理”页面中的“强制下线”按钮来手动下线服务。
检查Nacos的配置文件,确认推空保护是否已经关闭。
如果推空保护未关闭,可以尝试更新Nacos的版本,看是否可以解决这个问题。
当你在MSE微服务引擎中下线退出两个不再使用的服务后,但Nacos仍然持续推送异常日志,可能是由于以下原因导致的:
为解决此问题,你可以尝试以下方法:
登录Nacos控制台,查找并删除已下线的服务的注册信息。在服务列表中,找到对应的服务,选择删除操作。
如果你使用的是Nacos的API进行服务注册和发现,可以通过API调用删除已下线的服务的注册信息。
检查MSE微服务引擎的配置文件,确保已正确配置Nacos注册中心的地址和认证信息,以确保MSE正确与Nacos进行通信。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。