前言
我方阵营项目中用到的微服务架构是spring cloud系,持久层用的是Hibernate+QueryDSL。因为**原因打算离职,面试期间发现大部分公司都喜欢用dubbo+mybatis。只好写写demo,陶冶情操。
ROUND 1 胡言乱语
使用前,先看一下使用说明书。微服务中避免不了服务器之间通讯。Dubbo优势可能就是基于RPC,节省了传统REST的层层协议包装,减少了传输中不必要的信息(毕竟CS双方都是计算机,一些cookie等信息可以省去),可见其效率。但要是服务器之间通讯就不是很频繁,甚至不需要,那dubbo可能就身单力薄了。至于mybatis没什么好说的,对于我来说可能就是能练习一下sql功底。个人还是喜欢hibernate+QueryDSL那种面向对象的编程方式,只要你一点就能点到你想要的方法。
ROUND 2 项目结构
项目包含三个模块:api、provider、consumer。
- api定义传输接口和传输对象。
- provider提供RPC服务,数据库的查询等。
- consumer消费者,消费RPC服务,并包装REST给client端调用。
主要pom依赖:
- springboot 1.5.0
- dubbo-spring-boot-starter 2.0.0
- mybatis-spring-boot-starter 1.3.1
有了各种stater构建项目简直就是飞速。。。。
但是别忘记在启动类上添加@EnableDubboConfiguration
不要忘了在service impl中添加@Service @Component
两个注解(Service是dubbo包里的哦)
一个简陋的dubbo微服务就搭好了。
ROUND 3 配置工程师上线
写个demo说实话真的没什么可以配置的。。。。
就配置一下zookeeper地址···
provider
spring:
application.name: provider-demo
profiles.active: dev
dubbo:
application.name: provider-demo
registry.address: zookeeper://127.0.0.1:2181
protocol:
name: dubbo
port: 20880
scan: service
spring:
application.name: cunsumer-demo
profiles.active: dev
dubbo:
application.name: cunsumer-demo
registry.address: zookeeper://127.0.0.1:2181
scan: service
ROUND 4 启动啦
- 启动zookeeper 怎么启动和配置自己查
- maven install一下api(IDEA用户一定不要忘记哦)
- 启动provider
- 启动consumer
-
噔噔噔 成功了呢
传送门:项目源码 跑着玩玩吧。