(一) 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,修改其中的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接口消费者)

   项目结构如下:  

       (一) springboot+zookeeper+dubbo搭建简单的分布式框架_第1张图片

  3.4 进行项目文件配置 

     3.4.1   ========父项目 study-dubbo-parent中的pom.xml,引入新建的三个module=============,


    study-dubbo-consumer
    study-dubbo-provider
    study-dubbo-api

具体结果范例如下:  (一) springboot+zookeeper+dubbo搭建简单的分布式框架_第2张图片

 3.4.2  对外提供RPC接口API的module即mudulestudy-dubbo-api,可写一个接口类

     (一) springboot+zookeeper+dubbo搭建简单的分布式框架_第3张图片

注意其pom.xml配置

(一) springboot+zookeeper+dubbo搭建简单的分布式框架_第4张图片

3.4.3 =============== dubbo提供者module即study-dubbo-provider ====================

pom.xml的maven配置: 

   <1>  引入study-dubbo-api:


    com.study
    study-dubbo-api
    1.0-SNAPSHOT

<2> 引入Spring Boot Dubbo 依赖(自带log4j日志)


    com.alibaba.boot
    velocity-spring-boot-starter
    0.1.0


    com.alibaba
    dubbo
    2.6.2


    com.alibaba
    fastjson
    1.2.46


    com.alibaba
    dubbo-registry-zookeeper
    2.6.1
    
        
            commons-logging
            commons-logging
        
        
            org.apache.log4j
            log4j
        
    

注意多余log的去掉,以免发生冲突

<3>  springboot常规的maven包,注意去掉自带的log

    org.springframework.boot
    spring-boot-starter-tomcat
    compile



    org.springframework.boot
    spring-boot-starter-web
    
        
            org.springframework.boot
            spring-boot-starter-logging
        
    



    org.springframework.boot
    spring-boot-configuration-processor
    true

<4>  当前的dubbo的提供者代码范例的处理

 (一) springboot+zookeeper+dubbo搭建简单的分布式框架_第5张图片

其中dubbo-provider.xml配置 



    
    
    

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

(一) springboot+zookeeper+dubbo搭建简单的分布式框架_第6张图片

3.4.4 =============== dubbo消费者module即study-dubbo-comsumer ====================

     pom.xml的配置同study-dubbo-provider保持一致

    (一) springboot+zookeeper+dubbo搭建简单的分布式框架_第7张图片

    Configuration的配置也保持一致

   (一) springboot+zookeeper+dubbo搭建简单的分布式框架_第8张图片

(一) springboot+zookeeper+dubbo搭建简单的分布式框架_第9张图片

controller的请求:

(一) springboot+zookeeper+dubbo搭建简单的分布式框架_第10张图片

(一) springboot+zookeeper+dubbo搭建简单的分布式框架_第11张图片

整个项目的搭建就完成了,可以下载一个dubbo-admin监测RPC接口服务的监测情况,在官网下载。

测试结果: 

   首先启动study-dubbo-provider,然后启动study-dubbo-comsumer,

   study-dubbo-provider中提供的服务,注入一些数据如下: 

   (一) springboot+zookeeper+dubbo搭建简单的分布式框架_第12张图片

 

study-dubbo-comsumer请求接口的数据: 

(一) springboot+zookeeper+dubbo搭建简单的分布式框架_第13张图片

 最后结果就实现了RPC接口的互通

(一) springboot+zookeeper+dubbo搭建简单的分布式框架_第14张图片

 

 

 

 

 

 

 

 

 

 

 

 

你可能感兴趣的:(java,dubbo+zookeeper)