最近项目组遇到运维一个投诉:我们的dubbo服务是以接口维度注册到nacos上的,再高峰期无法下线服务维度导致运维风险增加。针对这个问题,我查了下,确实是这样的,因为我们使用的dubbo是3.0以下的,所以注册到注册中心上还是一个接口维度的,官网原文:Dubbo3 应用级服务发现设计 | Apache Dubbo,官方当然也提供了解决方式:
1、升级duboo为3.0版本以上,接口级服务发现迁移至应用级服务发现指南 | Apache Dubbo、应用级服务发现地址迁移规则说明 | Apache Dubbo、2.x 升级至 3.x | Apache Dubbo
2、可以在dubboadmin上按照服务搜索后处理这样的事情,但是需要安装dubboadmin:Admin 服务查询 | Apache Dubbo
3、自己写脚本来根据接口前缀搜索全部服务接口,进行下线。
其他dubbo相关:在解决完这个问题后,发现dubbo在近期发展的很快,例如dubbo可以和springcloud服务相互访问:微服务最佳实践,零改造实现 Spring Cloud & Apache Dubbo 互通 | Apache Dubbo,duboo的可观测性:观测服务 | Apache Dubbod等,而且现在有双周会在持续解决问题。当然也会遇到早期版本中不好的功能,例如我就遇到了开启nacos鉴权后,注册失败的问题,最后还是依靠加spi的方法解决的,原文:Dubbo-2.7.3 - Nacos-2.0.3 整合遇到的unknown user问题及解决过程记录_com.alibaba.nacos.api.exception.nacosexception: un-CSDN博客
,现在觉得如果在没有大需求的情况下,可以与时俱进看看有没有新功能干嘛,可以尝试在自己项目种用的,进行适当的升级,避免一些不必要的问题,