Dubbo实现不同分支不同测试环境

在对于dubbo的路由机制和注册机制有所了解之后,我们来分析一下如何实现dubbo服务的不同环境隔离。

这一用法的大致思路为:

正常的测试环境中存在着api-consumer调用user-provider的这么一个调用关系,这里我们暂时称之为default版本。

假设某一天,业务方突然有一个a需求需要开发改动这个两个模块,此时就应该有这么一个关系链路出现,这里我们暂且称之为 version-a 版本。

但是由于version-a版本还是待完善阶段,可能还有一些影响主流程的bug存在,直接发布到测试环境替代掉default版本,可能会影响其他正在测试环境正常运作服务对于default版本的调用情况,因此version-a版本的影响需要被单独限制起来。

理想的情况下应该是这种情景:

那么如何实现这种单独的隔离方案呢?

目前自己所处的企业主要是采用dubbo作为微服务架构的基础,所以在进行不同服务环境的隔离时候需要对provider和consumer进行拆分设计。目前在dubbo这块的思路是基于对url配置总线的改造实现,保证不同版本的provider在写入url的时候,会结合需求分支注入一个git.branch的

经验分享 程序员 微信小程序 职场和发展