Dubbo与Zookeeper伪集群部署

1.美图

在这里插入图片描述

官网:http://dubbo.apache.org/#!/docs/user/preface/background.md?lang=zh-cn

1.准备Zookeeper

zookeeper伪集群模式

2.dubbo安装

git clone https://github.com/apache/incubator-dubbo.git
cd incubator-dubbo
运行 dubbo-demo-provider中的com.alibaba.dubbo.demo.provider.Provider
如果使用Intellij Idea 请加上-Djava.net.preferIPv4Stack=true

Idea下

这里写图片描述

2.1 配置

2.1.1 首先要添加Zookeeper的依赖

/Users/lcc/IdeaProjects/incubator-dubbo-master/dubbo-demo/dubbo-demo-provider/pom.xml

添加
 <dependency>
    <groupId>com.github.sgroschupf</groupId>
     <artifactId>zkclient</artifactId>
     <version>0.1</version>
</dependency>

2.1.2 然后配置高可用zookeeper

/Users/lcc/IdeaProjects/incubator-dubbo-master/dubbo-demo/dubbo-demo-provider/src/main/resources/META-INF/spring/dubbo-demo-provider.xml

修改

<!-- 配置zookeeper的地址,集群地址用逗号隔开 -->
<dubbo:registry protocol="zookeeper" address="lcc:2888,lcc:4888,lcc:6888" />

这一点我入坑了,配置错误了,应该是clientPort端口,所以配置应该是如下,不然会报错

org.apache.curator.CuratorConnectionLossException: KeeperErrorCode = Connect

正确配置

<!-- 配置zookeeper的地址,集群地址用逗号隔开 -->
    <dubbo:registry protocol="zookeeper" address="lcc:2181,lcc:2182,lcc:2183" />

然后直接运行org.apache.dubbo.demo.provider.Provider#main方法,不报错

3. 查看

lcc@lcc zookeeper$  zookeeper1/zookeeper-3.4.12/bin/zkCli.sh
[zk: localhost:2181(CONNECTED) 0] ls /
[cluster, controller_epoch, brokers, zookeeper, admin, isr_change_notification, dubbo, consumers, log_dir_event_notification, latest_producer_id_block, config]
[zk: localhost:2181(CONNECTED) 2] ls /dubbo
[org.apache.dubbo.demo.DemoService]
[zk: localhost:2181(CONNECTED) 3] ls /dubbo/org.apache.dubbo.demo.DemoService
[configurators, providers]
[zk: localhost:2181(CONNECTED) 4] ls /dubbo/org.apache.dubbo.demo.DemoService/configurators
[]
[zk: localhost:2181(CONNECTED) 5] ls /dubbo/org.apache.dubbo.demo.DemoService/providers
[dubbo%3A%2F%2F192.168.1.47%3A20880%2Forg.apache.dubbo.demo.DemoService%3Fanyhost%3Dtrue%26application%3Ddemo-provider%26dubbo%3D2.0.2%26generic%3Dfalse%26interface%3Dorg.apache.dubbo.demo.DemoService%26methods%3DsayHello%26pid%3D3812%26side%3Dprovider%26timestamp%3D1531798607317]
[zk: localhost:2181(CONNECTED) 6]

然后可以看到恰好是我们配置的服务

<!-- use dubbo protocol to export service on port 20880 -->
<dubbo:protocol name="dubbo" port="20880"/>

<!-- service implementation, as same as regular local bean -->
<bean id="demoService" class="org.apache.dubbo.demo.provider.DemoServiceImpl"/>

<!-- declare the service interface to be exported -->
<dubbo:service interface="org.apache.dubbo.demo.DemoService" ref="demoService"/>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

九师兄

你的鼓励是我做大写作的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值