这里写自定义目录标题
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 举报,一经查实,本站将立刻删除。