话不多说 开整 自己动手搭建的第一个dubbo分布式框架
前提是你对dubbo服务有一个初步的认识
首先 你要下载一个zookeeper 并成功启动
具体怎么安装的详见https://www.cnblogs.com/grimm/p/6732867.html
就不多说了 我用的开发软件是idea
首先我们要搭建一个maven项目 jdk 1.8
然后新建maven项目
然后finish 我们的父框架就构建完成了
因为我们这个是用作父框架使用的 所以我们就可以把这个自动生成的src文件夹删掉了
然后我们要构建 三个 module 分别是 api(服务接口 服务提供者 和 消费者 公共引用这个接口 ) provider(服务提供者) consumer(服务消费者)
接下里就是三个module 建好的样子
接下来咱们就要来写接口了 就是 我们的api 服务提供者和消费者 都是 要基于这个得
这里现在无法创建package我们要在这里 配置一下
配置好了我们就可以常见package 然后写我们的api接口了 我就先创建了一个测试的小接口
写好了接口我们就要去写接口提供者和消费者了
我们先配置父项目的pom文件 这样我们的服务提供者和服务消费者就可以直接用父项目的pom文件了
把这些依赖放在父类pom文件里
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.3.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
<zkClient.version>0.10</zkClient.version>
<zookeeper.version>3.4.12</zookeeper.version>
<dubbo.starter.version>0.2.0</dubbo.starter.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>com.alibaba.boot</groupId>
<artifactId>dubbo-spring-boot-starter</artifactId>
<version>${dubbo.starter.version}</version>
</dependency>
<dependency>
<groupId>com.101tec</groupId>
<artifactId>zkclient</artifactId>
<version>${zkClient.version}</version>
</dependency>
<dependency>
<groupId>org.apache.zookeeper</groupId>
<artifactId>zookeeper</artifactId>
<version>${zookeeper.version}</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
然后我们先配置服务提供者provider 需要配置
首先第一步 pom 里面加入依赖
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>com.lxy</groupId>
<artifactId>api</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
然后配置我们的yml 文件 主要是配置dubbo 相关服务 详见 文章结尾 项目代码
之后我们开始配置Provider这个项目的启动类 并实现我们之间写的接口 接口的Service 一定要是dubbo的
接下来我们去写服务消费者 首先pom记得引入我们的api依赖 然后配置yml文件以及启动类
然后写我们controller 调用我们的公共接口
注意自己引用的包是否正确
然后下启动zookeeper 再启动 provider 最后启动consumer 一个dubbo服务就配好了 访问一下
然后我们再dubbo 的服务治理(你们还没配,你们可能看不到,但是不影响项目正常启动)那里可以看到我们注册的服务
一个dubbo 框架就完成了 我也是小白 发出来大家共勉
附上当前项目的zip包:https://download.csdn.net/download/jiangyucaonima/10577630
再来一个附加整合mybatis的zip地址:https://download.csdn.net/download/jiangyucaonima/10577443