Dubbo进阶(十一)—— Dubbo与DubboX区别

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/sunhuaqiang1/article/details/83097067

Dubbo进阶(十一)—— Dubbo与DubboX区别

前世今生

  Dubbo源于阿里的淘宝网开源的分布式服务架构,致力于提供高性能和透明化的RPC远程服务调用方案,是SOA服务化治理方案的核心框架。淘宝网将其开源之后,得到了很多的拓展和支持(比较出名的有:当当网的扩展版本dubbox,京东的扩展版本jd-hydra等)。
  Dubbox(即Dubbo eXtensions)是当当网Fork基于dubbo2.x的升级版本,兼容原有的dubbox。其中升级了zookeeper和spring版本,并且支持restfull风格的远程调用。

版本

  Dubbo目前已停止更新;
  Dubbox目前还在更新。
  说明:dubbox和dubbo 2.x是兼容的,没有改变dubbo的任何已有的功能和配置方式(除了升级了Spring之类的版本)。

  • 据说淘宝网dubbo与一个非开源的框架HSF有争执,导致dubbo的团队已经解散了,但是其扩展的版本dubbox却得到不断的发展(升级更新);
  • dubbox-2.8.0:该版本已经在生产环境中使用,主要支持REST风格远程调用、支持Kryo和FST序列化、升级了Spring和Zookeeper客户端、调整了demo应用等等;
  • dubbox-2.8.1:主要支持基于嵌入式tomcat的http-remoting,优化了REST客户端性能,在REST中支持限制服务端接纳的最大HTTP连接数等等;
  • dubbox-2.8.2:支持REST中的HTTP logging,包括HTTP header的字段和HTTP body中的消息体,方便调试、日志纪录等等;提供辅助类便于REST的中文处理;改变使用@Reference annotation配置时的异常处理方式,即当用annotation配置时,过去dubbo在启动期间不抛出依赖服务找不到的异常,而是在具体调用时抛出NPE,这与用XML配置时的行为不一致;较大的充实了Dubbo REST的文档。
  • dubbox-2.8.3:在REST中支持dubbo统一的方式用bean validation annotation作参数校验(沈理)
  • 在RpcContext上支持获取底层协议的Request/Response(沈理)
  • 支持采用Spring的Java Config方式配置dubbo(马金凯)
  • 在Dubbo协议中支持基于Jackson的json序列化(Dylan)
  • 在Spring AOP代理过的对象上支持dubbo annotation配置(Dylan)
  • 修正Dubbo管理界面中没有consumer时出现空指针异常(马金凯)
  • 修正@Reference annotation中protocol设置不起作用的bug(沈理)
  • 修正@Reference annotation放在setter方法上即会出错的bug(Dylan)

详见:https://github.com/dangdangdotcom/dubbox/releases

嵌入

  • dubbo:嵌入式Jetty
  • dubbox:基于嵌入式tomcat实现dubbo的 HTTP remoting体系(即dubbo-remoting-http)

对Servlet API的支持

  • dubbo:2.5
  • dubbox:升级到3.1

序列化

  • dubbox:基于Dubbo默认的RPC协议添加新的JSON序列化实现; 支持基于Kryo和FST的Java高效序列化实现;

Zookeeper注册中心

  • dubbo:Dubbo提供了Zookeeper注册中心,在整个Dubbo的设计里面充分考虑到了各类用户的需求,一些底层的通讯或者是信息存储都提供有大量的不同的存储方案;
  • dubbox:升级ZooKeeper客户端到最新版本;

使用场景

  • dubbo:使用Dubbo的RPC调用方式,服务间仍然会存在API强依赖;
  • dubbox:相对于Dubbo支持了REST风格的原创调用(HTTP +JSON/XML);

---------------简言之(dubbox基于dubbo的升级):---------------

  1. 支持REST风格远程调用(HTTP + JSON/XML);
  2. 支持基于Kryo和FST的Java高效序列化实现;
  3. 支持基于Jackson的JSON序列化;
  4. 支持基于嵌入式Tomcat的HTTP remoting体系;
  5. 升级Spring至3.x;
  6. 升级ZooKeeper客户端;
  7. 支持完全基于Java代码的Dubbo配置;

附录

Dubbo

官网首页:http://dubbo.io/
官方用户指南: http://dubbo.io/User+Guide-zh.htm可以当做SOA架构的学习资料

Dubbox

dubbox入门:http://www.cnblogs.com/yjmyzz/p/dubbox-demo.html
dubbox架构: http://www.cnblogs.com/Javame/p/3632473.html ;
当当网dubbox学习参考文档:http://dangdangdotcom.github.io/dubbox/
分布式服务框架 dubbo/dubbox 入门示例:http://www.cnblogs.com/wanghang/p/6298957.html
参考自:https://jingyan.baidu.com/article/f0e83a25602be822e491017c.html
https://blog.csdn.net/evankaka/article/details/48009645
https://blog.csdn.net/xz0125pr/article/details/51274211
http://www.cnblogs.com/chy2055/p/5110861.html

在这里插入图片描述
在这里插入图片描述

阅读更多
换一批

没有更多推荐了,返回首页