Dubbo与DubboX区别

举报
SHQ5785 发表于 2024/05/28 21:17:28 2024/05/28
【摘要】 前世今生Dubbo源于阿里的淘宝网开源分布式服务架构,致力于提供高性能和透明化的RPC远程服务调用方案,是SOA服务化治理方案的核心框架。淘宝网将其开源之后,得到了很多的拓展和支持(比较出名的有:当当网的扩展版本dubbox,京东的扩展版本jd-hydra等)。Dubbox(即Dubbo eXtensions)是当当网Fork基于dubbo2.x的升级版本,兼容原有的dubbox。其中升级...

前世今生

Dubbo源于阿里的淘宝网开源分布式服务架构,致力于提供高性能透明化RPC远程服务调用方案,是SOA服务化治理方案的核心框架。淘宝网将其开源之后,得到了很多的拓展和支持(比较出名的有:当当网的扩展版本dubbox,京东的扩展版本jd-hydra等)。

Dubbox(即Dubbo eXtensions)是当当网Fork基于dubbo2.x的升级版本,兼容原有的dubbox。其中升级了zookeeperspring版本,并且支持restfull风格的远程调用。

版本

  • Dubbo目前已停止更新;
  • Dubbox目前还在更新。

说明:dubboxdubbo 2.x是兼容的,没有改变dubbo的任何已有功能和配置方式(除了升级Spring之类的版本)。

  • 据说淘宝网dubbo与一个非开源的框架HSF有争执,导致dubbo的团队已经解散了,但是其扩展的版本dubbox却得到不断的发展(升级更新);

  • dubbox-2.8.0:该版本已经在生产环境中使用,主要支持REST风格远程调用、支持KryoFST序列化、升级了SpringZookeeper客户端、调整了demo应用等等;

  • dubbox-2.8.1:主要支持基于嵌入式tomcathttp-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;

  • 支持采用SpringJava Config方式配置dubbo;

  • Dubbo协议中支持基于Jacksonjson序列化;

  • Spring AOP代理过的对象上支持dubbo annotation配置;

  • 修正Dubbo管理界面中没有consumer时出现空指针异常;

  • 修正@Reference annotationprotocol设置不起作用的bug;

  • 修正@Reference annotation放在setter方法上即会出错的bug;

嵌入

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

Servlet API的支持

  • dubbo:2.5
  • dubbox:升级到3.1

序列化

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

Zookeeper注册中心

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

使用场景

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

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

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

附录

Dubbo

Dubbox

【版权声明】本文为华为云社区用户原创内容,未经允许不得转载,如需转载请自行联系原作者进行授权。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。