Springboot + Gradle +Dubbo 相结合基础demo实例

这里写自定义目录标题

Springboot + Gradle +dubbo

最近新项目用到springboot 结合dubbo,在一番折腾之后,终于跑起来基础框架结构,首次使用dubbo 跟 Gradle,也踩了不少坑,所以总结一下项目搭建过程中的问题。防止今后再次遇到,也给其他道友指条明路,快速脱坑。

1 .安装zookeeper

我这里使用zookeeper作为服务注册中心,版本3.5.5,下载地址: https://archive.apache.org/dist/zookeeper/zookeeper-3.5.5/

下载后,解压
要先配置一下,否则没法启动,启动会报错,找到安装目录下面的conf目录, 将zoo_sample.cfg 文件拷贝修改成 zoo.cfg 文件,然后修改zoo.cfg文件添加dataDri 跟dataLogDir,相应路径自行配置,启动即可。

在这里插入图片描述


启动zookeeper
window +R -> cmd 进入zookeeper安装目录bin目录下面,服务端启动用:zkServer.cmd (如果没有看.cmd,开启文件后缀显示就行),正常启动即可。

在这里插入图片描述

2. dubbo-admin-master 安装,启动

下载dubbo-admin-master
链接:https://download.csdn.net/download/qing_mei_xiu/11614597
点击下载
解压,导入导IDE工具,启动即可。也可以将项目打war包,部署在tomcat,启动。两种方法二选其一。

在这里插入图片描述

访问:http://localhost:7001 如果无法启动,查看admin服务,resources目录下面,application.properties配置文件,修改相关配置

server.port=7001
spring.veLocity.cache=false
spring.veLocity.charset=UTF-8
spring.veLocity.layout-url=/templates/default.vm
spring.messages.fallback-to-system-locale=false
spring.messages.basename=i18n/message
spring.root.password=root  #登录账号 跟 登录密码
spring.guest.password=guest

dubbo.registry.address=zookeeper://127.0.0.1:2181 #zookeeper 配置

3. dubbo - provider生产者服务

新建model,取名dubbo-common服务,新建interface文件->UserService.java,提供一个实现方法getPeople,(User.java文件自行生成,这里就不贴图了)

在这里插入图片描述


作为一个公共模块,提供给provider跟consumer引入使用

新建model,取名dubbo-provider服务,新建UserServiceImpl.java 文件实现Interface.

在这里插入图片描述


注意:
@service不可少,并且该注解是alibaba 注解,非spring注解,用了此注解后就可以将provider暴露出去了。

dubbo相关gradle包引入

 compile group: 'com.alibaba', name: 'dubbo', version: '2.6.1'	/*搭载dubbo*/
 compile ("org.apache.zookeeper:zookeeper:3.4.6") {
        exclude group: 'org.slf4j' 
    }
 compile ("org.apache.curator:curator-framework:2.12.0")

zookeeper依赖slf4j,有时会造成重复依赖报错,可以exclude 排除来解决

在这里插入图片描述


provider启动,别忘了@Enabledubbo,否则链接不上zookeeper,无法实现注册

4. dubbo - consumer消费者服务

新建model,取名dubbo-consumer服务,新建Controller文件,注入UserService,@Reference用alibaba注解。这样就可以调用到provider,暴露出来的UserService接口了。

在这里插入图片描述


dubbo相关gradle包引入和provider一样,springboot 启动类也是一样,别忘了@Enabledubbo

在这里插入图片描述

5. 启动服务

首先启动provider服务,在启动consumer服务,通过admin控制台,可以监听到服务启动

在这里插入图片描述


接口调用controller,consumer服务调用userService接口,实现了dubbo的RPC调用

在这里插入图片描述

6. Monitor监控

如果想要更加详细的服务监控,可以启动dubbo-monitor-simple服务,认口8080

在这里插入图片描述


总结:
至此一个简单的springboot + dubbo + gradle的服务就完成了,麻雀虽小,五脏俱全。想要深入理解还需要阅读源码来增强内容,此demo仅供入门使用

相关文章

在网络请求时,总会有各种异常情况出现,我们需要提前处理这...
作者:宇曾背景软件技术的发展历史,从单体的应用,逐渐演进...
hello,大家好呀,我是小楼。最近一个技术群有同学at我,问我...
 一个软件开发人员,工作到了一定的年限(一般是3、4年左右...
当一个服务调用另一个远程服务出现错误时的外观Dubbo提供了多...
最近在看阿里开源RPC框架Dubbo的源码,顺带梳理了一下其中用...