栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

Springboot整合dubbo加zookeeper注册中心简单案例

Springboot整合dubbo加zookeeper注册中心简单案例

        案例采用环境

        zookeeper 3.7.0        dobbo-admin        springboot:2.3.2.RELEASE

一、本地zookeeper注册中心

        采用本地的原因是通过docker pull下来的zookeeper个人不会使用,通过idea连接一直是没办法连接上的,通过docker logs查看日志信息,发现很多拒绝连接的情况,但是通过本地使用ZooInspector却能连接上,但是用idea本地连接没办法顺利连接,目前没有排错出来,后续如果有解决会放出解决方法,也看看有没有大神遇到同样的问题请教一下。

        步骤:

                1.首先启动本地zookeeper服务中心,文件夹路径的bin启动zkServer.cmd

 

二、linux下使用的dubbo-admin

 问题:一开始我是使用docker运行zookeeper与dubbo-admin,然后dubbo-admin一直连接不上zookeeper,通过日志查看发现dubbo-admin一直在连接本地127.0.0.1:2181,然而每一个容器其实就是一个独立的虚拟机,查看本机自己的2181端口是没办法发现zookeeper,我采取的方案是直接输入参数进行ip配置说明:admin.registry.address、admin.config-center、admin.metadata 参数通过github查看dubbo-admin-server下的application.yml里面可以看见这三个配置参数

        步骤:

                1.打开虚拟机进行docker操作(一定要先启动zookeeper后才使用dubbo-admin)

#拉取镜像
docker pull apache/dubbo-admin

#运行镜像 
#{zookeeper_ip}:${zookeeper_port}输入自己服务所在的ip与端口 如:192.168.1.1:2181
#映射到虚拟机的9000端口
docker docker run -p 9000:8080 -d --name dubbo-admin 
-e "admin.registry.address=zookeeper://{zookeeper_ip}:{zookeeper_port}" 
-e "admin.config-center=zookeeper://{zookeeper_ip}:{zookeeper_port}" 
-e "admin.metadata-report.address=zookeeper://{zookeeper_ip}:{zookeeper_port}"  apache/dubbo-admin

#查看运行状况
docker ps

        结果:访问虚拟机ip:9000

 三、使用idea编写程序

     1、文件结构

说明
common放置domain、util等共同工具
dubbo-api需要暴露的服务接口
dubbo-donsumer消费者,测试远程服务接口
dubbo-provider服务提供者

         2、pom依赖说明

                父pom



    4.0.0
    pom
    
        service
        dubbo-api
        common
    
    com.fine
    Spring-boot-dubbo-zookeeper-test02
    0.0.1-SNAPSHOT
    Spring-boot-dubbo-zookeeper-test02
    springboot整合dubbo与zookeeper方案测试
    
        1.8
        2.3.2.RELEASE
        2.7.8
        2.7.8

    
    
        
            
            
                org.springframework.boot
                spring-boot-dependencies
                ${spring-boot.version}
                pom
                import
            

             
            
                org.apache.dubbo
                dubbo-dependencies-bom
                ${dubbo.version}
                pom
                import
            
            
            
                org.apache.dubbo
                dubbo-dependencies-zookeeper
                ${dubbo-zookeeper.version}
                pom
            
            
            
            
                org.apache.dubbo
                dubbo
                ${dubbo.version}
                
                    
                        org.springframework
                        spring
                    
                    
                        javax.servlet
                        servlet-api
                    
                    
                        log4j
                        log4j
                    
                
            
        
    

    
        
            
                org.springframework.boot
                spring-boot-maven-plugin
            
        
    


    
        
            apache.snapshots.https
            Apache Development Snapshot Repository
            https://repository.apache.org/content/repositories/snapshots
            
                false
            
            
                true
            
        
    

         service模块的pom(对于服务进行统一管理)



    
        Spring-boot-dubbo-zookeeper-test02
        com.fine
        0.0.1-SNAPSHOT
    
    4.0.0

    service
    pom
    
        dubbo-provider
        dubbo-consumer
    

    
        8
        8
    

    
        
            org.springframework.boot
            spring-boot-starter-test
            test
        


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

        
            org.apache.dubbo
            dubbo-spring-boot-starter
            2.7.8
        

        
            org.apache.dubbo
            dubbo-dependencies-zookeeper
            pom
        
        
            com.fine
            common
            0.0.1-SNAPSHOT
        

        
            com.fine
            dubbo-api
            0.0.1-SNAPSHOT
        
    

        3、配置

        provider配置(application.yml)

spring:
  application:
    name: dubbo-provider
dubbo:
#服务所在包
  scan:
    base-packages: com.fine.dubbo.api
#dubbo协议
  protocol:
    name: dubbo
    port: -1
#dubbo注册中心
  registry:
#    client: curator
    address: 127.0.0.1:2181
    protocol: zookeeper
  application:
    name: dubbo-provider
server:
  port: 11000

        consumer配置

spring:
  application:
    name: dubbo-consumer
server:
  port: 12000
dubbo:
  registry:
    protocol: zookeeper
    address: 127.0.0.1:2181

        4、代码实现

        api模块   

         provider模块

         comsuner模块

controllerservice

         4、启动服务

        查看dubbo-admin的监控信息

        测试访问 

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/761673.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号