springboot+dubbo+zookeeper整合

springboot+dubbo+zookeeper

一、dubbo-admin,dubbo-monitor安装

dubbo-admin

  1. 下载 [https://github.com/apache/dubbo/tags]
  2. 编译dubbo-admin工程,打成war包。dubbo-admin-2.6.0.war
  3. 解压到tomcat目录下/webapps/ROOT
    unzip dubbo-admin-2.6.0.war -d apache-tomcat-7.0.108/webapps/ROOT/
    
  4. 进入/webapps/ROOT/WEB-INF 目录修改文件 dubbo.properties
    dubbo.registry.address=zookeeper://127.0.0.1:2181
    dubbo.admin.root.password=root
    dubbo.admin.guest.password=guest
    
  5. 启动tomcat

dubbo-monitor

  1. 解压
    tar -zxvf dubbo-2.6.0.tar.gz
    
  2. 进入dubbo monitor目录
    cd incubator-dubbo-dubbo-2.6.0/dubbo-simple/dubbo-monitor-simple
    
  3. mvn打包
    mvn clean package
    
  4. 打包后找到dubbo-simple\dubbo-monitor-simple\target\dubbo-monitor-simple-2.6.0-assembly.tar.gz,这就是dubbo monitor监控中心程序
  5. 修改配置
    解压dubbo-monitor-simple-2.6.0-assembly.tar.gz
    tar -zxf dubbo-monitor-simple-2.6.0-assembly.tar.gz
    
    修改配置文件
    cd dubbo-monitor-simple-2.6.0/conf
    vi dubbo.properties
    


6. 启动测试
/bin目录下启动 ./start.sh
7. dubbo monitor Out of Memory Error 启动bug:
start.sh 文件中默认启动需要的的JVM内存大小设置为2G,导致内存不足
start.sh默认内存
改为-Xmx512m -Xms512m -Xmn256m 即可

二、springboot+dubbo+zookeeper

  1. 新建dubbo-api,dubbo-provider,dubbo-consumer模块
    在这里插入图片描述

  2. 编写dubbo-api接口

    public interface IUserService {
    	public String hello();
    }
    
  3. dubbo-provider导入依赖

    <dependencies>
        <dependency>
            <groupId>com.lzj</groupId>
            <artifactId>dubbo-api</artifactId>
            <version>1.0-SNAPSHOT</version>
        </dependency>
        <!--引入dubbo -->
        <dependency>
            <groupId>com.alibaba.boot</groupId>
            <artifactId>dubbo-spring-boot-starter</artifactId>
            <version>0.2.0</version>
        </dependency>
        <dependency>
            <groupId>com.github.sgroschupf</groupId>
            <artifactId>zkclient</artifactId>
            <version>0.1</version>
        </dependency>
    
    </dependencies>
    
  4. 编写配置文件

    server:
      port: 8087
    
    dubbo:
      application:
        name: provider-boot-an
      registry:
        protocol: zookeeper
        address: 127.0.0.1:2181
      protocol:
        port: 28803
    
  5. 实现接口,此处@Service用的是dubbo包的

    @Component  //表明这是一个spring组件,归spring管理
    @Service  //发布组件
    public class UserServiceImpl implements IUserService {
    
        @Override
        public String hello() {
            System.out.println("hello");
            return "hello,dubbo!";
        }
    }
    
  6. dubbo-consumer导入依赖

    <dependencies>
        <dependency>
            <groupId>com.lzj</groupId>
            <artifactId>dubbo-api</artifactId>
            <version>1.0-SNAPSHOT</version>
        </dependency>
        <!--引入dubbo -->
        <dependency>
            <groupId>com.alibaba.boot</groupId>
            <artifactId>dubbo-spring-boot-starter</artifactId>
            <version>0.2.0</version>
        </dependency>
        <dependency>
            <groupId>com.github.sgroschupf</groupId>
            <artifactId>zkclient</artifactId>
            <version>0.1</version>
        </dependency>
    
    </dependencies>
    
  7. 编写配置文件

    server:
      port: 8089
    
    dubbo:
      application:
        name: consumer-boot
      registry:
        protocol: zookeeper
        address: zookeeper://127.0.0.0:2181
    
  8. @Reference远程调用

    	@RestController
    	public class ConsumerController {
    	    @Reference
    	    private IUserService iUserService;
    	
    	    @GetMapping("/hello")
    	    public String test() {
    	        return iUserService.hello();
    	    }
    	}
    
  9. 启动测试
    在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值