Dubbo进阶(十二)——dubbo中的group和version配置项
2019-01-10 15:56
1106 查看
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/sunhuaqiang1/article/details/86237186
接口升级时,要注意方法:
* 在低压力时间段,先升级一半的提供者为新版本;
* 再将所有的消费者升级为新版本;
当一个接口有多种实现时,可以用group区分。
为什么要用dubbo分组配置?
因为服务器有限,想在同一个注册中心中,分隔测试和开发环境。
分组如何配置?
spring管理bean,先看dubbo的配置:
1、service中的dubbo配置: spring-dubbo.xml:
<?xml version="1.0" encoding="UTF-8"?>
<!-- 应用信息,用于计算依赖关系 --> <dubbo:application name="graservice"/> <dubbo:protocol name="dubbo" port="20901"/> <!-- 使用zookeeper注册中心暴露服务地址 --> <dubbo:registry protocol="zookeeper" address="${dubbo.registry.address}" register="${dubbo.registry.register}" /> <dubbo:annotation package="com.compony.itoo.gra.facade"/> <dubbo:annotation package=" com.compony.itoo.gra.service"/> <dubbo:consumer check="false" timeout="3000" group ="${dubbo.gra.group}"/> <dubbo:provider timeout="3000" group ="${dubbo.gra.group}"/>dubbo.properties:
dubbo.registry.address=zookeeper://192.168.23.60:2181 dubbo.registry.register=true dubbo.gra.group=ls
2、web中的dubbo配置: spring-dubbo.xml:
<?xml version="1.0" encoding="UTF-8"?>
<!-- dubbo配置-start --> <dubbo:protocol name="dubbo" port="20900"/> <dubbo:application name="graweb"/> <dubbo:registry address="${dubbo.registry.address}" /> <dubbo:consumer check="false" timeout="100000" group ="${dubbo.gra.group}"/> <dubbo:annotation/> <!--开启dubbo注解--> <!-- dubbo配置-end -->dubbo.properties:
dubbo.registry.address=zookeeper://192.168.23.60:2181 dubbo.gra.group=ls
group分组的设置就如上面红色标注所示:给dubbo:consumer/ 和dubbo:provider/ 添加group属性。测试环境和开发环境设置不同的分组值,可以通过组内调用的特性,达到共用注册中心的同时实现环境隔离的效果。同样开发人员本地开发,调试代码,也可以通过使用分组来实现。
先在本地测试,配置好后,启动服务,去dubbo控制台看服务注册情况,显示分组已起作用:
version
当一个接口的实现,出现不兼容升级时,可以用版本号过渡,版本号不同的服务相互间不引用
<!-- 机器A提供1.0.0版本服务 --> <dubbo:service interface="com.foo.BarService" version="1.0.0" />
<!-- 机器B提供2.0.0版本服务 --> <dubbo:service interface="com.foo.BarService" version="2.0.0" />
<!-- 机器C消费1.0.0版本服务 --> <dubbo:reference id="barService" interface="com.foo.BarService" version="1.0.0" />
<!-- 机器D消费2.0.0版本服务 --> <dubbo:reference id="barService" interface="com.foo.BarService" version="2.0.0" />此外,消费者消费服任意版本的服务时:
<dubbo:reference id="barService" interface="com.foo.BarService" version="*" />另外
接口升级时,要注意方法:
* 在低压力时间段,先升级一半的提供者为新版本;
* 再将所有的消费者升级为新版本;
* 然后将剩下的一半提供者升级为新版本;
相关文章推荐
- Java进阶(十二)JDK版本错误之Unsupported major.minor version 51.0(jdk版本错误)
- Java进阶(十二)JDK版本错误之Unsupported major.minor version 51.0(jdk版本错误)
- dubbo中的group与version的简单示例
- Java进阶(十二)JDK版本错误之Unsupported major.minor version 51.0(jdk版本错误)
- dubbo中的group与version的简单示例
- 苹果新的编程语言 Swift 语言进阶(十二)--选项链
- spring boot / cloud (十二) 异常统一处理进阶
- dubbo 常见错误 通配符的匹配很全面, 但无法找到元素 'dubbo:application' java.lang.reflect.MalformedParameterizedTypeException 通配符的匹配很全面, 但无法找到元素 'dubbo:application' 的声明。 Unsupported major.minor version 52.0 (unable to l
- 自定义ViewGroup控件(二)----->流式布局进阶(二)
- Android学习笔记进阶十二之裁截图片
- dubbo进阶--管控台
- OpenGL进阶(十二) - 基础着色(Shading)
- <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE validators PUBLIC "-//OpenSymphony Group//XWork Val
- C#学习笔记(十二):事件进阶
- Java进阶(十二)代码块
- 分布式进阶(十二)Docker固定Container IP
- Java多线程知识点总结——进阶篇(十二) 之 Join方法 & 优先级 & yield方法
- Android进阶学习总结-自定义ViewGroup和属性
- Dubbo client 启动报错:No provider available for the service use dubbo version 2.5.3
- React学习之进阶类型检查(十二)