SpringBoot 整合 dubbo 基础框架 消息用的 zookeeper
话不多说 开整 自己动手搭建的第一个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.****.net/download/jiangyucaonima/10577630
再来一个附加整合mybatis的zip地址:https://download.****.net/download/jiangyucaonima/10577443