以前转java以后,作的都是基于springcloud的微服务,对dubbo没有了解,只知道是一个rpc的分布式框架,如今有机会接触到了dubbo,此篇博客做为学习的记录。html
1、什么是dubbojava
dubbo是阿里的开源的一套rpc框架,如今已经交给阿帕奇开源,与springcloud不一样的是dubbo是基于rpc通信的,而springcloud是http通信的;那么dubbo就有一个问题:依赖版本号。别人想要引用你的dubbo服务就必须引入被引用的stud(?)。spring
dubbo由于是rpc长链接的,因此会比springcloud暴露的http接口响应速度快不少。apache
在asp.net(jsp)的时代,痛点是在orm上,有一个好的orm,开发速度、维护难度都会变得容易不少。到了mvc时代,应用拆分红几个互不干扰的应用,当拆分的愈来愈多,那么各个服务之间的调用在所不免,此时分布式框架(springcloud,dubbo,servicefabric)就是关键(springcloud做为第二套微服务框架,对其余语言的支持也很好,好比.net能够经过steeltoe来集成到springcloud中,dubbo目前未知能不能与其余语言集成)。当服务愈来愈多,那么就须要一个统一的调度中心来管理服务(zk,consul等)。mvc
2、dubbo使用流程框架
dubbo做为初代的微服务框架,用rpc长链接的方式来让开发人员像调用本地方法同样调用其余服务的方法,解决了服务间通信的问题。asp.net
提供者写好provider接口后,调用者将dubbo服务引用进本身的项目中调用。具体使用教程能够参考官方文档,仍是很简单的。jsp
http://dubbo.apache.org/zh-cn/docs/user/quick-start.html分布式
3、dubbo对比springcloudide
dubbo只是提供了一个框架,springcloud是一套完整的解决方案,具体的能够参考这篇博文: