使用motan+Zookeeper构建RPC服务

本文档详细介绍了如何使用Motan和Zookeeper构建RPC服务。首先,通过Docker部署3个Zookeeper节点,配置myid和hosts以形成集群。接着,创建SpringBoot项目,并集成Motan,实现服务端和客户端。在服务端和客户端的配置中,需要注意端口暴露和基础配置。在实际操作中,遇到了Motan的一个bug,通过设置开关解决首次订阅问题。
摘要由CSDN通过智能技术生成

构建Zookeeper集群为服务注册与发现中心做准备

先用docker构建3个zookeeper容器,我们暴露出默认的2181接口,我用的是目前的current版本3.4.8
修改/conf/zoo.cfg,按官网的集群构建设置,把initLimit和syncLimit两个参数改了,下面的三条集群设置也加上,这里是我的配置文件:

initLimit=5
syncLimit=2
clientPort=2181
dataDir=/tmp/zookeeper
server.1=slave-01:2888:3888
server.2=slave-02:2888:3888
server.3=slave-03:2888:3888

这边有两件事需要做:

1.myid

官网说要在dataDir下创建myid,用来对应server.x,但是就这么提了一下,很多人会不小心忽略掉。我们到dataDir目录下,建一个文件,叫myid,在里面输入1,就好了,第2个,第3个容器分别输入2、3.

2.hosts

修改hosts是一种配置zookeeper集群的方法,比较简单,我们就用它了。zoo.cfg配置文件里的主机名分别是slave-01、slave-02、slave-03,他们的地址具体是什么,就需要我们另外去配置。
修改/etc/hosts

172.17.0.5      slave-01
172.17.0.6      slave-02
172.17.0.13     slave-03

把容器在docker内分配到的ip地址和主机名对应起来,三个容器上都这么设定。
ps:作为小白的我在官网看了半天文档没找到这么去给出这些地址,看了别人的博客才知道这个方法/(ㄒoㄒ)/~~

然后我们启动每个容器的zookeeper:/bin/zkServer.sh start
netstat -ano可以看到端口的开放状态。
bin/zkCli.sh -server 127.0.0.1:2181可以使用Zookeeper的cli,这里就不做展开。

这样,三节点的zookeeper集群就搭建完毕了!

构建SpringBoot项目,集成motan

JavaEE项目应该都可以,在这里我用的是SpringBoot
项目结构
我拿之前写过的demo稍微改了下就拿来用了,需要的有User类(Bean),UserService(

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值