Dubbo多版本控制

当系统进行升级时,一般都是采用“灰度发布(又称为金丝雀发布)”过程。即在低压力时段,让部分消费者先调用新的提供者实现类,其余的仍然调用老的实现类,在新的实现类运行没有问题的情况下,逐步让所有消费者全部调用成新的实现类。多版本控制就是实现灰度发布的

一、创建提供者04-provider-version

(1) 创建工程

创建Maven的工程。

Dubbo多版本控制_第1张图片

(2) 导入依赖

Spring的版本为4.3.16

需要的依赖有:

  • dubbo2.7.0版本依赖
  • zk客户端curator依赖
  • servlet与jsp依赖
  • spring相关依赖
  • spring需要的commons-logging依赖
  • 自定义00-api依赖

        
        
            org.apache.curator
            curator-recipes
            2.13.0
        
        
            org.apache.curator
            curator-framework
            2.13.0
        

        
        
            00-api
            00-api
            1.0-SNAPSHOT
        

        
        
            org.apache.dubbo
            dubbo
            2.7.0
        
        
        
            org.springframework
            spring-beans
            ${spring-version}
        
        
            org.springframework
            spring-core
            ${spring-version}
        
        
            org.springframework
            spring-context
            ${spring-version}
        
        
            org.springframework
            spring-expression
            ${spring-version}
        
        
            org.springframework
            spring-aop
            ${spring-version}
        
        
            org.springframework
            spring-aspects
            ${spring-version}
        
        
            org.springframework
            spring-tx
            ${spring-version}
        
        
            org.springframework
            spring-jdbc
            ${spring-version}
        
        
        
            commons-logging
            commons-logging
            1.2
        

    

(3)定义两个接口实现类

Dubbo多版本控制_第2张图片

Dubbo多版本控制_第3张图片

(4)修改配置文件

resources\META-INF\spring\spring-provider.xml目录

指定版本0.0.1对应的是oldService实例,而版本0.0.2对应的是newService实例

Dubbo多版本控制_第4张图片

二、创建消费者04-consumer-version

(1) 创建工程

Dubbo多版本控制_第5张图片

(2) 导入依赖

和提供者一样

(3) 创建消费者

Dubbo多版本控制_第6张图片

(4) 修改配置文件

Dubbo多版本控制_第7张图片

 

你可能感兴趣的:(Dubbo)