微服务:SpringBoot整合Dubbo+Zookeeper

环境准备:
jdk 1.8
springboot 1.5.9
dubbo 1.0

1.首先新建一个空的工程 (工程名为springboot-dubbo)

在这里插入图片描述

建好以后工程结构如下图所示

在这里插入图片描述

2.首先我们先创建服务提供者(以售票业务为例)

在这里插入图片描述

3.选择springboot快速创建向导构建项目

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

接下来就一路下一步就行,工程结构如下:

在这里插入图片描述

4.在提供者的项目里面新建一个TicketService,提供售票方法

在这里插入图片描述

5.再创建一个服务消费者的子工程 步骤跟刚才一样就不再多说

在这里插入图片描述

6.在User的项目里面新建一个UserService,如果我们想在这使用提供者项目里面的TicketService,那么就需要使用RPC远程调用框架,进行远程通讯

(1)先在提供者项目的pom.xml引入依赖

     <!-- 引入dubbo依赖 -->
       <dependency>
           <groupId>com.alibaba.boot</groupId>
           <artifactId>dubbo-spring-boot-starter</artifactId>
           <version>0.1.0</version>
      </dependency>
     <!-- 引入zookeeper客户端工具 -->
      <dependency>
           <groupId>com.github.sgroschupf</groupId>
           <artifactId>zkclient</artifactId>
          <version>0.1</version>
      </dependency>

(2)在提供者项目的application.properties配置文件中配置

 dubbo.application.name=provider-ticket #当前应用的名字

 dubbo.registry.address=zookeeper://192.168.0.103:2181   #虚拟机的ip路径  2181为端口号 需要先在虚拟机上安装zookeeper、

 dubbo.scan.base-packages=com.dream.providerticket.service #要扫描的包

(3)在TicketServiceImpl.class中加@Service和@Component注解,@Service要导bubbo的包,因为需要把服务注册到注册中心,@Component是将类放在spring容器中便于管理

注意:Dubbo中的@Service注解只能标注到接口或具体实现类上面
在这里插入图片描述

(4)接下来启动提供者项目

在这里插入图片描述

7.同样我们在消费者项目里面引入dubbo和zookeeper的依赖(同上),在消费者项目application.properties配置文件中配置如下:

  dubbo.application.name=user  #当前应用的名字

  dubbo.registry.address=zookeeper://192.168.0.103:2181  #虚拟机的ip路径  2181为端口号 需要先在虚拟机上安装zookeeper、

9.在消费者项目里面创建TicketService接口 路径要和提供者项目的一样,也可以复制过来,如下:

在这里插入图片描述

10.在UserService.class中引用TicketServce,并加上@Reference注解

在这里插入图片描述
在这里插入图片描述

12.编写一个hello方法,远程调用服务提供者的getTicket()方法

在这里插入图片描述

13.最后在服务消费者项目里进行单元测试

注意:服务提供者项目不能关闭服务
在这里插入图片描述

大功告成!!!!!

总结:Dubbo是阿里巴巴开源的分布式服务框架,现在由apache公司在维护,就目前来说,dubbo还是非常火的,但是由于SpringCloud的问世,老杨预计Spring全家桶的时代将会占领市场,因为springcloud提供了一整套微服务架构的解决方案,这是与Dubbo最大的不同。我会在后续给同学们更新SpringBoot整合SpringCloud的文章,请大家持续关注哦!有任何问题可以在评论区提出。谢谢大家!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值