(一) springboot+zookeeper+dubbo搭建简单的分布式框架
(1)简介: 根据springboot快速的web项目搭建方式,用zookeeper+dubbo快速搭建分布式框架。 (2)开发环境 zookeeper-3.4.13直接在官网下载, dubbo2.6.2直接maven配置 (3) 具体的操作 3.1 下载zookeeper后,zoo_sample.cfg复制一份改名为zoo.cfg...
(1)简介:
根据springboot快速的web项目搭建方式,用zookeeper+dubbo快速搭建分布式框架。
(2)开发环境
zookeeper-3.4.13直接在官网下载,
dubbo2.6.2直接maven配置
(3) 具体的操作
3.1 下载zookeeper后,zoo_sample.cfg复制一份改名为zoo.cfg,修改其中的dataDir路径,其相关数据可设置到对应路径
可修改clientPort=2181为自己的端口,当前框架搭建中,未变
3.2 进入zookeeper的bin中,启动zkServer.cmd启动该服务
3.3 打开IDE创建父项目study-dubbo-parent,可删除其他,保留pom.xml即可,然后新建三个module:
study-dubbo-api(对外RPC接口) study-dubbo-provider(dubbo接口提供者) study-dubbo-comsumer(dubbo接口消费者)
项目结构如下:
3.4 进行项目文件配置
3.4.1 ========父项目 study-dubbo-parent中的pom.xml,引入新建的三个module=============,
<modules> <module>study-dubbo-consumer</module> <module>study-dubbo-provider</module> <module>study-dubbo-api</module> </modules>
具体结果范例如下:
3.4.2 对外提供RPC接口API的module即mudulestudy-dubbo-api,可写一个接口类
注意其pom.xml配置
3.4.3 =============== dubbo提供者module即study-dubbo-provider ====================
pom.xml的maven配置:
<1> 引入study-dubbo-api:
<dependency> <groupId>com.study</groupId> <artifactId>study-dubbo-api</artifactId> <version>1.0-SNAPSHOT</version> </dependency>
<2> 引入Spring Boot Dubbo 依赖(自带log4j日志)
<dependency> <groupId>com.alibaba.boot</groupId> <artifactId>velocity-spring-boot-starter</artifactId> <version>0.1.0</version> </dependency> <dependency> <groupId>com.alibaba</groupId> <artifactId>dubbo</artifactId> <version>2.6.2</version> </dependency> <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.46</version> </dependency> <dependency> <groupId>com.alibaba</groupId> <artifactId>dubbo-registry-zookeeper</artifactId> <version>2.6.1</version> <exclusions> <exclusion> <groupId>commons-logging</groupId> <artifactId>commons-logging</artifactId> </exclusion> <exclusion> <groupId>org.apache.log4j</groupId> <artifactId>log4j</artifactId> </exclusion> </exclusions> </dependency>
注意多余log的去掉,以免发生冲突
<3> springboot常规的maven包,注意去掉自带的log <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-tomcat</artifactId> <scope>compile</scope> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> <exclusions> <exclusion> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-logging</artifactId> </exclusion> </exclusions> </dependency> <!-- 配置文件处理器,绑定配置文件 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-configuration-processor</artifactId> <optional>true</optional> </dependency>
<4> 当前的dubbo的提供者代码范例的处理
其中dubbo-provider.xml配置
<beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:dubbo="http://dubbo.apache.org/schema/dubbo" xmlns="http://www.springframework.org/schema/beans" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.3.xsd http://dubbo.apache.org/schema/dubbo http://dubbo.apache.org/schema/dubbo/dubbo.xsd"> <dubbo:application name="${dubbo.application.name}"/> <dubbo:registry address="${dubbo.registry.address}"/> <dubbo:annotation package="${dubbo.scan.package}"/> </beans>
dubbo-provider.properties配置
## Dubbo 应用名称 dubbo.application.name=dubbo-provider ##Dubbo 注册中心地址 dubbo.registry.address=zookeeper://127.0.0.1:2181 ## Dubbo 服务类包目录(service所在包的地址,这个千万不要配置错误) dubbo.scan.package=com.study.provider.service #暴露服务方式 dubbo.protocol.name=dubbo-provider #暴露服务端口 dubbo.protocol.port=20880
提供的RPC接口实现类(ProviderService)
3.4.4 =============== dubbo消费者module即study-dubbo-comsumer ====================
pom.xml的配置同study-dubbo-provider保持一致
Configuration的配置也保持一致
controller的请求:
整个项目的搭建就完成了,可以下载一个dubbo-admin监测RPC接口服务的监测情况,在官网下载。
测试结果:
首先启动study-dubbo-provider,然后启动study-dubbo-comsumer,
study-dubbo-provider中提供的服务,注入一些数据如下:
study-dubbo-comsumer请求接口的数据:
最后结果就实现了RPC接口的互通
更多推荐
所有评论(0)