Apache Dubbo,一款高性能、轻量级的RPC框架。这里就其在Spring Boot下的实践进行介绍
![31db9ecb2ac1c7ee67475679587d0ce3.png](https://i-blog.csdnimg.cn/blog_migrate/1b1a3508a6be7a70302e03042ea6f8b7.jpeg)
注册中心:ZooKeeper
这里我们选用ZooKeeper作为Dubbo的注册中心。Docker命令如下所示
# 拉取ZooKeeper镜像docker pull zookeeper# 启动ZooKeeper容器docker run --name ZooKeeper-1 -p 2181:2181 -d -v /Users/zgh/Docker/ZooKeeper/ZooKeeper-1/conf:/conf -v /Users/zgh/Docker/ZooKeeper/ZooKeeper-1/data:/data -v /Users/zgh/Docker/ZooKeeper/ZooKeeper-1/datalog:/datalog -v logs:/logs zookeeper
基于Maven的聚合工程
为了便于演示,先建立一个基于Maven的聚合工程,其含有三个子模块:common-api、provider和consumer
![0f15f892c326a6459ac98ec6ba022b39.png](https://i-blog.csdnimg.cn/blog_migrate/9f5558cd18e5ca9d04a23d3170eb6e80.jpeg)
子模块:common-api
该模块用于提供服务提供者、消费者的公共类、接口。这里,我们提供一个学生信息的服务接口
package com.aaron.api.service;import com.aaron.api.pojo.ResultData;import com.aaron.api.pojo.Student;/** * 公共服务接口: 学生服务接口 */public interface StudentService{ /** * 通过ID获取学生信息 * @param id * @return */ ResultData getStuById(Integer id);}
该公共服务接口中涉及到相关类,实现如下
package com.aaron.api.pojo;import lombok.AllArgsConstructor;import lombok.Data;import lombok.NoArgsConstructor;import java.io.Serializable;/** * 结果封装类 */@Data@AllArgsConstructor@NoArgsConstructorpublic class R