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序列化
; -
在
Spring AOP
代理过的对象上支持dubbo annotation
配置; -
修正
Dubbo
管理界面中没有consumer
时出现空指针异常; -
修正
@Reference annotation
中protocol
设置不起作用的bug; -
修正
@Reference annotation
放在setter
方法上即会出错的bug;
嵌入
dubbo
:嵌入式Jetty
dubbox
:基于嵌入式tomcat
实现dubbo
的HTTP remoting
体系(即dubbo-remoting-http
)
对Servlet API
的支持
dubbo
:2.5dubbox
:升级到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
升级):---------------
- 支持
REST
风格远程调用(HTTP + JSON/XML
); - 支持基于
Kryo
和FST
的Java
高效序列化实现; - 支持基于
Jackson
的JSON
序列化; - 支持基于嵌入式
Tomcat
的HTTP remoting
体系; - 升级
Spring
至3.x; - 升级
ZooKeeper
客户端; - 支持完全基于
Java
代码的Dubbo
配置;
附录
Dubbo
Dubbox
- 点赞
- 收藏
- 关注作者
评论(0)