SpringBoot整合Dubbo和Zookeeper

安装zookeeper

  • zookeeper:注册中心,必须有
  • 开源镜像下载地址:http://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.4.14/
  • 解压到本地
  • 打开\zookeeper-3.4.14\bin目录中的zkServer.cmd,会出现闪退的现象
  • 找到zookeeper-3.4.14\conf目录中的zoo_scmple.cfg文件,复制一份,重命名为zoo.cfg
  • 再次打开zkServer.cmd服务端,然后打开zkCli.cfg客户端,既可以连接上。

安装Dubbo

  • dubbo-admin:是一个监控管理后台,查看我们注册了哪些服务,哪些服务被消费了,可有可无
  • 下载地址https://github.com/apache/dubbo-admin/tree/master
  • 解压到本地,可以看到是个maven项目。
  • cmd进入dubbo-admin-master目录下。
  • 执行maven命令:mvn clean package -Dmaven.test.skip=true,即可打包
  • dubbo-admin-master\dubbo-admin\target目录生成了jar包。
  • 使用dubbo之前,一定要先打开zookpeer服务端。在运行jar包。
  • 运行之后,浏览器输入localhost:7001访问,默认用户名和密码d都是root

SpringBoot整合

编写两个模块,一个提供者模块,一个消费者模块

提供者模块

  1. 先导入这五个依赖包
<!--dubbo启动器-->
<dependency>
    <groupId>org.apache.dubbo</groupId>
    <artifactId>dubbo-spring-boot-starter</artifactId>
	<version>2.7.3</version>
</dependency>
<!--zkclient-->
<dependency>
    <groupId>com.github.sgroschupf</groupId>
    <artifactId>zkclient</artifactId>
    <version>0.1</version>
</dependency>
<!--日志会冲突-->
<!--引入zookeeper-->
<dependency>
    <groupId>org.apache.curator</groupId>
    <artifactId>curator-framework</artifactId>
    <version>2.12.0</version>
</dependency>
<dependency>
    <groupId>org.apache.curator</groupId>
    <artifactId>curator-recipes</artifactId>
    <version>2.12.0</version>
</dependency>
<dependency>
    <groupId>org.apache.zookeeper</groupId>
    <artifactId>zookeeper</artifactId>
    <version>3.3.3</version>
    <!--排除slf4j和log4j12-->
    <exclusions>
	    <exclusion>
          <groupId>org.slf4j</groupId>
          <artifactId>slf4j-log4j12</artifactId>
        </exclusion>
    </exclusions>
</dependency>
  1. 编写相关的服务类,并在这个类上加注解@Service和@Component,注意:@service注解必须是要org.apache.dubbo.config.annotation.Service,而不是spring的注解。
  2. 在配置文件中编写相关信息
#服务应用的名字(模块名)
dubbo:
  application:
    name: provider-server

#注册中心的地址(zookeeper的主机地址和相应的端口)
  registry:
    address: zookeeper://127.0.0.1:2181
    timeout: 4000

#哪些服务要被注册(服务类所在的包)
  scan:
    base-packages: com.daq.service
  1. 在启动类上加上@EnableDubbo这个注解
  2. 打开zkServer,并运行jar包,浏览器输入localhost:7001即可看到服务。

消费者模块

前提:zookeeper服务是开启的

  1. 添加依赖,如上所示
  2. 在配置中配置注册中心地址,配置自己的服务名,如:
# 消费者去哪里拿服务,需要暴露自己的名字
dubbo:
  application:
    name: consumer-server

# 注册中心的地址
  registry:
    address: zookeeper://127.0.0.1:2181
  1. 从远程注入服务
  • 注意消费者的service接口的包路径名要与提供者的包路径名完全相同。
  • 在本地服务类上加上@service注解,这个注解是spring的。
  1. 启动即可!!!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值