温馨提示:文本由机器自动转译,部分词句存在误差,以视频为准
00:00
好,接下来呢,我们再来说double里边重要的一个功能,多版本,它使用场景呢,就是说到我们某一个接口功能,它出现了不兼容的升级,而我们系统里边呢,不可能我们刚写完的新功能就立马给它全用上,有可能新功能不稳定,导致整个系统不稳定,我们呢,可以在系统里边先让一部分的人来用我们这个新功能,哎,另外一部分的人呢,他可以还是先用我们这个功能的老版本,如果发现新功能版本呢都稳定了,我们再把这一部分呢,老版本替换成新版本,那我们就可以利用到多版本的特性,好,我们来写上,把以前的服务呢还都停掉,那假设呢,还是这个user service,我们现在呢,这是第一个版本,比如如果用它,我们就来打印old。好,我呢再为它写上一个版本,好,我们就叫user service employment2,我这个实现二,然后呢,这个呢,我们就叫new,现在呢,我们相当于一个user service接口,我们有新旧功能,而我们呢,可以在provide里边配置出来,比如第一个service接口,我们指向的是user service1哎。
01:23
User service,我们给他给一个ID叫零一吧,零一它呢用的是user service,好,这是第一个,我们呢可以给service这一块呢,规定一个叫。啊,我们规定一个版本,比如我们叫100,那我们同时呢,给这个提供者再来配置一个CTRLC复制一份。好,我粘贴过来,比如呢,我们第二个叫200,当然我们第二个服务呢,我们来用B来注册上来,那么第二个新功能呢,我们是叫user service2,我们在这个里边写着,那我们就写user service2,好,那我们的ID呢,也叫user service02,好,我们来指向它,然后呢,它的版本是200,上边呢是100,两个版本呢同时存在,这样呢,我们在消费方诶我们在声明调用的时候,Reference我们来引用的时候,我们就可以通过version来声明们用。
02:35
这个user service的哪个版本服务,比如我们用100,我们来测试一下来,我们先将这个服务提供者启动起来。好,然后呢,我们在这来做一个测试。走。啊,这个呢有超时,我们把这个超时呢,可以一会取到,但是呢,我们现在看到是old,我们确实呢使用的是老版本的,等我们新版本呢,测试也稳定了,我们把这些老版本呢也可以换过来,我们用2.0,那接下来呢,它就应该打印的是六来测试一下。
03:13
好,我们在这个user service里边,我们来看一下,诶,它现在呢,打印的是new,而且呢,我们也可以通过修改consumer里边的这个watch,我们改为新的方式,这样呢,让它随机来任意调用一个版本,就不一定是old还是new了,来测试一下。好,我们看一下这个控制台,哎,我们发现呢,这次调的是O,那下次呢,我们再来测试一下。我们来看这个控制台,哎,我们发现呢,这有一次new的这个测试,哎,说明呢,它是一个版本的随机调用,这样呢,我们就可以平滑的从旧版本升级到新版本,也就是我们这个官网里边介绍到我们这个实现灰度发布。
我来说两句