1. 准备
官网下载zookeeper 地址: zookeeper 配置环境变量
先新建变量:
然后添加path:%ZOOKEEPER_HOME%\bin
启动zookeeper服务。如果zookeeper服务打开闪退,可以打开zookeeper路径中conf,拷贝里面的zoo_sample.cfg 并改名为zoo.cfg.即可打开服务。
2. idea创建项目
可以先创建一个空工程在空工程中创建提供者、消费者、接口工程模块
- 先创建接口工程:普通的maven工程即可
- 再创建一个提供者:使用web项目就可以创建一个springboot项目
- 再创建一个消费者:也是一个web项目可以创建一个springboot项目
接口工程:存放实体bean和业务接口
服务提供者:业务接口的实现类并将服务暴露且注册到注册中心,调用数据持久层。添加依赖(dubbo,注册中心,接口工程)。配置服务提供者核心配置文件
服务消费者:处理浏览器客户端发送的请求,从注册中心调用服务提供者所提供的服务。添加依赖(dubbo,注册中心,接口工程)。配置服务消费者核心配置文件
3. 添加依赖
先在提供者项目的pom中添加依赖:
<!--dubbo依赖-->
<dependency>
<groupId>org.apache.dubbo</groupId>
<artifactId>dubbo-spring-boot-starter</artifactId>
<version>2.7.8</version>
</dependency>
<!--注册中心 zookeeper-->
<dependency>
<groupId>com.101tec</groupId>
<artifactId>zkclient</artifactId>
<version>0.10</version>
</dependency>
<dependency>
<groupId>org.apache.curator</groupId>
<artifactId>curator-recipes</artifactId>
<version>2.13.0</version>
</dependency>
<!--接口工程 自己刚刚创建的接口工程-->
<dependency>
<groupId>com.example</groupId>
<artifactId>interface</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
再在消费者的pom中添加依赖
<dependency>
<groupId>org.apache.dubbo</groupId>
<artifactId>dubbo-spring-boot-starter</artifactId>
<version>2.7.8</version>
</dependency>
<dependency>
<groupId>org.apache.curator</groupId>
<artifactId>curator-recipes</artifactId>
<version>2.13.0</version>
</dependency>
<!--注册中心 zookeeper-->
<dependency>
<groupId>com.101tec</groupId>
<artifactId>zkclient</artifactId>
<version>0.10</version>
</dependency>
<dependency>
<groupId>com.example</groupId>
<artifactId>interface</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
4. 配置核心文件
配置提供者的核心文件
配置消费者核心文件
server.port是当前部分工程内嵌tomcat的端口号
dubbo.applcation.name:是该部分工程向外暴露的名称
server.servlet.context-path:是当前上下文路径
dubbo.registry.address:dubbo的注册地址,即zookeeper的地址
5. 编写方法接口
- 可以现在接口工程中创建一个接口:
- 在生产者中实现这个接口
这里@Service是dubbo包提供的注解 - 再在消费者中调用这些方法
这里的@Reference时dubbo包提供的注解
接口工程主要任务是提供方法接口,提供者主要任务是实现这些接口,消费者主要是处理请求调用这些接口。相当于MVC模式的各个层关系,消费者相当于控制器层,生产者和接口工程相当于model层。zookeeper服务中注册有生产者和消费者。
6.测试
启动zookeeper服务
再先启动服务提供者
最后启动服务消费者
访问消费者地址映射
7. 可以再dubbo的可视化界面查看注册的接口。管理界面可以再Gitee中拉去:https://gitee.com/difcipo/dubbo-admin.git ,按照README.txt中步骤就可以完成打包,然后登录即可就可以查看注册的服务。