springboot+dubbo+ZooKeeper+mybatis搭建分布式项目
本人之前一直在用springcloud框架实现分布式项目,看到好多公司面试都是需要dubbo+ZooKeeper实现分布式项目,面试题百度上太多了就不在讲解了,今天来写个简单易懂的小demo,帮助初学者对dubbo+ZooKeeper有个全新的认识。
一、首先 zookeeper作为集群管理服务器
ZooKeeper定义:分布式服务框架 Zookeeper -- 用来管理分布式环境中的数据。
(1).去zookeeper官网下载安装:https://zookeeper.apache.org/
(2).解压到本地(根据自己情况安装到那个盘) D:\softWare\zookeeper\zookeeper-3.4.10
(3).找到zkServer.cmd (D:\softWare\zookeeper\zookeeper-3.4.10\bin\zkServer.cmd) 双击运行会闪退,
这时候需要:复制conf目录下zoo_sample.cfg文件到同目录下,重命名为zoo.cfg,修改其中的 dataDir 和 dataLogDir 上面新建目录的路径
然后在双击zkServer.cmd,就OK了
二、开始搭建项目
(1).打开IDE创建父项目DubboProject,删除src模块,保留pom.xml,
然后新建三个module:
dubbo-api(对外RPC接口:里边主要放实体和service接口) dubbo-consumer(dubbo接口消费者:里边主要放controller层) dubbo-provicer1(dubbo接口提供者:里边主要放mapper接口,service的实现和查询数据库的xml)
项目结构如下:
(2)父项目中引入三个模块
(3) 对外提供RPC接口API的dubbo-api,可写一个接口类和实体,实体user就不展示了(id,userName,passWord三个字段)
pom.xml展示
(4) dubbo提供者dubbo-provide,提供者的配置和dubbo配置
provide提供者的dubbo配置
然后在UserServiceImpl层,注意这个实现的service,一定是dubbo中配置的找到api中的那个包
mapper层和mapper.xml层
(5).dubbo消费者dubbo-comsumer
消费者的dubbo配置
消费者的controller层
本地请求下就OK了:localhost:8080/getAllUser