Dubbo笔记7——多版本控制

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

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

(1) 创建工程

创建Maven的工程。

(2) 导入依赖

Spring的版本为4.3.16

需要的依赖有:

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

 
 
  1. <dependencies>
  2. <!-- zk客户端依赖:curator -->
  3. <dependency>
  4. <groupId>org.apache.curator </groupId>
  5. <artifactId>curator-recipes </artifactId>
  6. <version>2.13.0 </version>
  7. </dependency>
  8. <dependency>
  9. <groupId>org.apache.curator </groupId>
  10. <artifactId>curator-framework </artifactId>
  11. <version>2.13.0 </version>
  12. </dependency>
  13. <!--业务接口工程依赖-->
  14. <dependency>
  15. <groupId>00-api </groupId>
  16. <artifactId>00-api </artifactId>
  17. <version>1.0-SNAPSHOT </version>
  18. </dependency>
  19. <!-- dubbo依赖 -->
  20. <dependency>
  21. <groupId>org.apache.dubbo </groupId>
  22. <artifactId>dubbo </artifactId>
  23. <version>2.7.0 </version>
  24. </dependency>
  25. <!-- Spring依赖 -->
  26. <dependency>
  27. <groupId>org.springframework </groupId>
  28. <artifactId>spring-beans </artifactId>
  29. <version>${spring-version} </version>
  30. </dependency>
  31. <dependency>
  32. <groupId>org.springframework </groupId>
  33. <artifactId>spring-core </artifactId>
  34. <version>${spring-version} </version>
  35. </dependency>
  36. <dependency>
  37. <groupId>org.springframework </groupId>
  38. <artifactId>spring-context </artifactId>
  39. <version>${spring-version} </version>
  40. </dependency>
  41. <dependency>
  42. <groupId>org.springframework </groupId>
  43. <artifactId>spring-expression </artifactId>
  44. <version>${spring-version} </version>
  45. </dependency>
  46. <dependency>
  47. <groupId>org.springframework </groupId>
  48. <artifactId>spring-aop </artifactId>
  49. <version>${spring-version} </version>
  50. </dependency>
  51. <dependency>
  52. <groupId>org.springframework </groupId>
  53. <artifactId>spring-aspects </artifactId>
  54. <version>${spring-version} </version>
  55. </dependency>
  56. <dependency>
  57. <groupId>org.springframework </groupId>
  58. <artifactId>spring-tx </artifactId>
  59. <version>${spring-version} </version>
  60. </dependency>
  61. <dependency>
  62. <groupId>org.springframework </groupId>
  63. <artifactId>spring-jdbc </artifactId>
  64. <version>${spring-version} </version>
  65. </dependency>
  66. <!-- commons-logging依赖 -->
  67. <dependency>
  68. <groupId>commons-logging </groupId>
  69. <artifactId>commons-logging </artifactId>
  70. <version>1.2 </version>
  71. </dependency>
  72. </dependencies>

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

(4)修改配置文件

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

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

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

(1) 创建工程

(2) 导入依赖

和提供者一样

(3) 创建消费者

(4) 修改配置文件

 

转载地址:https://blog.csdn.net/u012965203/article/details/97703641

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
软件介绍:   dubboadmin的控制台插件最新版本,提供本地下载,可以可视化的监控dubbo服务注册和消费情况。  运行dubbo admin server  dubbo admin server是一个标准的spring boot项目, 可以在任何java IDE中运行它运行dubbo admin ui  dubbo admin ui由npm管理和构建,在开发环境中,可以单独运行: npm run dev为了方便开发,我们提供了这种前后端分离的部署模式,主要的好处是支持前端热部署,在这种模式下,前端会通过8080端口访问后端的restful api接口,获取数据, 这将导致跨域访问的问题。  Dubbo Admin后端配置  当前版本的的Dubbo Admin支持Dubbo2.7的新特性(元数据展示,应用级别的配置),同时也兼容Dubbo2.6的用法,两个版本的配置不同,具体介绍如下:  application.properties配置  dubbo.config.center: 2.7的配置,推荐用法,填写配置中心的地址,并且在配置中心的相应目录下配置注册中心和元数据中心的地址,Dubbo Admin会根据相应的协议,初始化对应的客户端,实现对配置中心,元数据中心的访问    dubbo.registry.address: 2.6的配置,只配置注册中心的地址。采用此配置Dubbo Admin会把配置,元数据相关的内容也写入注册中心的不同目录下    两种配置,都可以兼容Dubbo2.6和2.7的版本,即使配置dubbo.config.center,对于2.6版本的客户端,也会收到对应版本的路由,动态配置规则,并且按照规则内容生效
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值