为什么要用dubbo分组配置?
因为服务器有限,想在同一个注册中心中,分隔测试和开发环境。
分组如何配置?
spring管理bean,先看dubbo的配置:
1、service中的dubbo配置: spring-dubbo.xml:
1. <?xml version="1.0" encoding="UTF-8"?> 2. <beans xmlns="http://www.springframework.org/schema/beans" 3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:dubbo="http://code.alibabatech.com/schema/dubbo" 4. xsi:schemaLocation="http://www.springframework.org/schema/beans 5. http://www.springframework.org/schema/beans/spring-beans.xsd 6. http://code.alibabatech.com/schema/dubbo 7. http://code.alibabatech.com/schema/dubbo/dubbo.xsd 8. "> 9. 10. <!-- 应用信息,用于计算依赖关系 --> 11. <dubbo:application name="graservice"/> 12. <dubbo:protocol name="dubbo" port="20901"/> 13. <!-- 使用zookeeper注册中心暴露服务地址 --> 14. <dubbo:registry protocol="zookeeper" 15. address="${dubbo.registry.address}" 16. register="${dubbo.registry.register}" 17. /> 18. <dubbo:annotation package="com.compony.itoo.gra.facade"/> 19. <dubbo:annotation package=" com.compony.itoo.gra.service"/> 20. <dubbo:consumer check="false" timeout="3000" group ="${dubbo.gra.group}"/> 21. <dubbo:provider timeout="3000" group ="${dubbo.gra.group}"/> 22. 23. </beans>
dubbo.properties:
1. dubbo.registry.address=zookeeper://192.168.23.60:2181 2. dubbo.registry.register=true 3. dubbo.gra.group=ls
2、web中的dubbo配置: spring-dubbo.xml:
1. <?xml version="1.0" encoding="UTF-8"?> 2. <beans xmlns="http://www.springframework.org/schema/beans" 3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 4. xmlns:dubbo="http://code.alibabatech.com/schema/dubbo" 5. xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd 6. 7. http://code.alibabatech.com/schema/dubbo http://code.alibabatech.com/schema/dubbo/dubbo.xsd"> 8. 9. <!-- dubbo配置-start --> 10. <dubbo:protocol name="dubbo" port="20900"/> 11. <dubbo:application name="graweb"/> 12. <dubbo:registry address="${dubbo.registry.address}" /> 13. <dubbo:consumer check="false" timeout="100000" group ="${dubbo.gra.group}"/> 14. <dubbo:annotation/> <!--开启dubbo注解--> 15. <!-- dubbo配置-end --> 16. 17. </beans>
dubbo.properties:
1. dubbo.registry.address=zookeeper://192.168.23.60:2181 2. dubbo.gra.group=ls
group分组的设置就如上面红色标注所示:给<dubbo:consumer/> 和<dubbo:provider/> 添加group属性。测试环境和开发环境设置不同的分组值,可以通过组内调用的特性,达到共用注册中心的同时实现环境隔离的效果。同样开发人员本地开发,调试代码,也可以通过使用分组来实现。
先在本地测试,配置好后,启动服务,去dubbo控制台看服务注册情况,显示分组已起作用:
上述是测试了分组好用。修改现有代码的分组,需修改profiles目录下的不同的环境参数。profiles文件夹存在的意义是什么呢?下篇文章分享。
总结:
及时总结,不然过一段时间,记得多清楚的东西都可能会忘记。