Dubbo学习(二)——多版本控制

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

1、创建提供者

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

删除原来的 SomeServiceImpl 类,并新建两个实现类 

public class OldServiceImpl implements SomeService {
    @Override
    public String hello(String name) {
        System.out.println("执行【老】的提供者OldServiceImpl的hello() ");
        return "OldServiceImpl";
    }
}
public class NewServiceImpl implements SomeService {
    @Override
    public String hello(String name) {
        System.out.println("执行【新】的提供者NewServiceImpl的hello() ");
        return "NewServiceImpl";
    }
}

(2)修改配置文件

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

Dubbo学习(二)——多版本控制_第1张图片

2、创建消费者

(1)修改配置文件

Dubbo学习(二)——多版本控制_第2张图片

3、运行

运行结果即消费者按照指定的版本调用相应的实现类

你可能感兴趣的:(dubbo)