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

posted @ 2020-08-26 16:45  暖瞳123  阅读(762)  评论(0编辑  收藏  举报