Zookeeper
起因:由于我们现在都是拆分的微服务,因此dubbo debug就需要跨多个微服务。现有解决办法是在dubbo admin控制台,将其他服务提供者关闭,只保留本机服务提供者。但是这种方式会影响其他人的测试开发工作,如何在开发阶段debug不影响其他同事测试呢?
我们可以在本机搭建zookeeper,也就是dubbo的注册中心。
dubbo的原理是:服务提供者都会到zookeeper注册自己以供别人调用,服务消费者也会去zookeeper注册中心查找服务提供者以供自己调用,所以我们只需要自己搭建一个zookeeper,将服务提供者和消费者的配置均配置到本地zookeeper上即可。
1. 安装zookeeper,参照 https://github.com/alibaba/dubbo/wiki/admin-guide-install-manual http://apache.org/dist/zookeeper/
2.修改服务提供者及消费者zookeeper ip为127.0.0.1
3.如果本机需要开启多个dubbo,需要修改dubbo端口以防冲突
4.如果需要调用其他dubbo服务,可以配置 dubbo.consumer.check=false 忽略启动检查
5.对于联机调试,提出一个简单的 自己调用指定的dubbo接口调试,但不希望其他人调用该接口的策略 (注, 如果该功能 有问题,并且不好用,且不实用,请删除,谢谢)
作为服务提供者的微服务
#dubbo.registry.protocol=zookeeper
#dubbo.registry.address=10.3.5.21:2181,10.3.5.36:2181,10.3.5.38:2181
dubbo.registry.address = N/A
dubbo.protocol.port = 20880
作为服务消费者
<dubbo:reference id="diseaseAnalyzerService"
interface="com.jztey.analyzer.jkbg.service.DiseaseAnalyzerService" url="dubbo://127.0.0.1:20880/com.jztey.analyzer.jkbg.service.DiseaseAnalyzerService"/>
采用dubbo 直连模式
本文转自yushiwh 51CTO博客,原文链接:http://blog.51cto.com/yushiwh/1942249,如需转载请自行联系原作者