微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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仅供入门使用

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐