《Apache Dubbo微服务开发从入门到精通》——迁移到 Dubbo3—— 一、 平滑升级到Dubbo3版本(上) https://developer.aliyun.com/article/1223617
3. Dubbo3升级步骤
1) 依赖升级
如果使用Nacos作为注册中心,由于Nacos特性支持的原因,在升级到Dubbo 3.x之前需要将Nacos Server升级到2.x(参考文档)然后再将应用的Nacos Client也对应升级。如果使用Zookeeper注册中心则不需要处理。
如果您是使用Spring Cloud Alibaba Dubbo进行接入的,由于Dubbo部分内部API进行了变更,请升级到xxx。
Dubbo依赖请升级到最新的3.1.3版本,Dubbo 和对应的springboot starter GAV 如下所示。
2) 灰度升级
Dubbo 3升级对于发布流程没有做特殊限制,按照正常业务发布即可。
由于Dubbo是进行跨大版本的变更升级,发布中请尽可能多分批次发布,同时拉大第一批和第二批发布的时间间隔,做好充足的观察。
发布过程中,我们建议您先升级应用的下游(也即是服务提供者),在验证服务处理正常以后再继续后续发布。
3) 升级观测指标
在发布的过程中,有以下几个纬度的指标可以判断升级是否出现问题。
• 机器的CPU、内存使用情况
• 接口请求成功率
• 接口请求RT
• 日志的报错信息
• 自定义扩展行为是否符合预期
4. 其他注意事项
应用级服务发现
由于Dubbo 2.7的应用级服务发现模型存在设计上的问题,在Dubbo 3.x中做了大量格式上的修改,所以2.7.x和3.x的应用级服务发现可能存在无法互相订阅调用的可能性。虽然Dubbo会剔除识别不了的实例,但是从稳定性的角度出发,如果您在2.7.x中开启了应用级服务发现特性(在2.7.x中非默认注册),我们建议先在2.7.x中关闭,待升级到3.x之后再开启。