Dubbo抽取服务提供者和消费者的共同接口
抽取原因抽取前需要在服务提供者以及消费者模块中分别定义一次接口,抽取后只需要定义一次即可,可以提高开发的效率
新建模块新建一个子模块项目存放接口,我命令为Api
创建接口在java文件夹中新建service文件夹,再创建一个接口,该接口和服务提供者以及消费者的接口路径、名称要一样
删除接口然后删除掉服务提供者和消费者的接口,删除后服务提供者以及消费者会报错
引入存放接口模块的依赖引入的依赖路径在Api模块的pom.xml,如下图:
在服务提供者以及消费者pom.xml的dependencies节点中引入依赖
12345<dependency> <groupId>org.example</groupId> <artifactId>Api</artifactId> <version>1.0-SNAPSHOT</version></dependency>
至此,共同接口抽取完成
Maven出现错误:"Parent, please verify your project structure"的解决办法
问题该错误出现在使用parent节点继承其它模块的依赖版本号时
解决方法在parent节点加入<relativePath/>,完整parent节点如下:
123456<parent> <groupId>org.example</groupId> <artifactId>Parent</artifactId> <version>1.0-SNAPSHOT</version> <relativePath/></parent>
Maven使用parent统一管理依赖版本
新建子模块新建一个Maven子模块并命名为Parent,不需要勾选Create from archetype,删除src文件夹
添加节点添加一个dependencyManagement节点,在dependencyManagement节点内添加dependencies节点,并在dependencies节点内添加依赖
123456<parent> <groupId>org.example</groupId> <artifactId>Parent</artifactId> <version>1.0-SNAPSHOT</version> <relativePath/></parent>
pom.xml如下:
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 ...
IntelliJ IDEA创建Maven多模块项目
前提已经创建好一个Maven项目(在创建这个项目时不需要勾选Create from archetype),可以直接删除它的src文件夹,我们把该项目称为父模块
创建鼠标右击该父模块,选择New >> Module,然后像新建项目那样操作即可
结果
消费Dubbo服务
新建一个子模块项目名称为Consumer
引入依赖12345678910111213141516171819202122232425262728293031323334353637383940<dependency> <groupId>com.alibaba</groupId> <artifactId>dubbo</artifactId> <version>2.6.0</version></dependency><dependency> <groupId>com.101tec</groupId> <artifactId>zkclient</artifactId> <version>0.10</version></dependency><dependency> <groupId>org.apache.curator</groupId> <artifactId ...
发布Dubbo服务
新建项目新建一个Maven项目名称为DubboDemo,在该项目下新建一个子模块项目名称为Provider
创建java和resources文件夹
引入依赖12345678910111213141516171819202122232425262728293031323334353637383940414243444546<dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.11</version> <scope>test</scope></dependency><dependency> <groupId>com.alibaba</groupId> <artifactId>dubbo</artifactId> <version>2.6.0</version></ ...
使用Dubbo Admin控制台
下载阿里云盘链接:https://www.aliyundrive.com/s/nZaiPAfGKnq
安装安装一个Tomcat7,平时不使用,专门用来运行Dubbo Admin控制台,安装步骤 :安装 Tomcat | LeDao 的博客 (zoutl.cn)
删除Tomcat7的安装目录webapp/ROOT文件夹中的全部文件(该ROOT文件夹为直接输入端口号时显示的Tomcat主页)
解压下载的dubbo-admin-2.6.0.war,复制解压后的所有文件到webapp/ROOT文件夹中
启动必须先启动Zookeeper,如何启动查看:Windows10 安装 ZooKeeper | LeDao 的博客 (zoutl.cn)
双击Tomcat7的安装目录bin文件夹中的startup.bat运行Tomcat7,在浏览器地址栏输入localhost:8080,输入用户名和密码,默认用户名和密码都是root
如果输入localhost:8080后出现下面图片所示的界面,说明8080端口被占用了,那么直接修改Tomcat7的默认端口,去修改Tomcat7的配置文件server.xml ...
IntelliJ IDEA创建Maven项目
新建
选择Maven项目、JDK版本、Maven Archetype(选maven-archetype-webapp,可以不创建后面再加入)
取名
取名以及选择项目路径
填写配置
选择本机的Maven安装路径、配置文件、仓库路径
CentOS7安装ZooKeeper
下载创建一个文件夹存放ZooKeeper,进入该文件夹后使用swet命令下载apache-zookeeper-3.7.0-bin.tar.gz(我的阿里云CentOS7服务器中使用wge命令)
1wget https://downloads.apache.org/zookeeper/zookeeper-3.7.0/apache-zookeeper-3.7.0-bin.tar.gz
解压1tar -zxvf apache-zookeeper-3.7.0-bin.tar.gz
配置进入conf文件夹
1cd /root/zookeeper/apache-zookeeper-3.7.0-bin/conf/
复制zoo_sample.cfg到当前目录,并命令为zoo.cfg
1cp zoo_sample.cfg zoo.cfg
运行进入解压后的文件夹apache-zookeeper-3.7.0-bin
启动1./bin/zkServer.sh start
查看状态查看当前状态,看到下图说明启动成功
1./bin/zkServer.sh status
也进入客户端查看运行状态,看到 ...
Windows10安装ZooKeeper
下载进入ZooKeeper主页:https://zookeeper.apache.org/index.html ,点击Download进入下载页面
根据自己的需求下载对应的版本,下载第一个
点击HTTP下的下载链接
下载完的文件名中包含bin字段(从版本3.5.5开始,带有bin名称的包才是我们想要的下载可以直接使用的里面有编译后的二进制的包,而之前的普通的tar.gz的包里面是只是源码的包无法直接使用)
安装将下载好的文件解压,再解压,如果出现替换文件提示,选择全否
运行点击bin文件夹中的zkServer.cmd运行,如果出现一个CMD窗口马上就关闭,说明启动失败自动关闭窗口,这时我们需要查看错误信息,修改zkServer.cmd(在文件的最后新建一行,加上pause)
再次运行查看错误信息,从下图可以看到conf文件夹中没有zoo.cfg这个文件
将conf文件夹的zoo_sample.cfg这个文件重命名为zoo.cfg
再次启动,如果看到端口号:2181,说明启动成功