问答题859/1053Dubbo 和 Dubbox 有什么区别?

难度:
2021-11-02 创建

参考答案:

DubboDubbox 都是基于 Java 的分布式服务框架,但它们有一些重要的区别,主要体现在框架的来源、发展历史以及目前的维护状态。下面是这两个框架的比较:

1. Dubbo

  • 起源:Dubbo 是由阿里巴巴开发的一个高性能、轻量级的 Java RPC 框架,最初用于阿里巴巴的内部服务治理。后来,Dubbo 在 2011 年开源,并且逐渐发展为一个被广泛使用的分布式服务框架。
  • 当前维护:Dubbo 在 2017 年正式进入 Apache 基金会,成为 Apache 的顶级项目,持续由 Apache 社区进行维护和更新。
  • 功能特点
    • 高性能、低延迟的 RPC 框架,广泛用于大规模分布式系统中。
    • 支持多种协议(如 Dubbo 协议、HTTP、REST、Thrift 等)。
    • 支持服务发现、负载均衡、容错、服务治理、动态配置等功能。
    • 可以与 Spring 和 Spring Boot 集成,支持注解驱动的开发。

2. Dubbox

  • 起源:Dubbox 是在 Dubbo 基础上,由淘宝的团队进行扩展和改进的一个框架。最初,Dubbox 作为 Dubbo 的增强版本,加入了一些新的特性和功能,例如对多协议支持、分布式事务、异步调用等功能的增强。
  • 发展历史:Dubbox 是 Dubbo 的一个“分支”版本,在阿里巴巴内部被广泛使用。Dubbox 在一些功能上做了增强和补充,但它并没有像 Dubbo 那样进入 Apache 基金会。随着 Dubbo 项目的不断发展,Dubbox 逐渐被 Dubbo 的官方版本所替代。
  • 功能特点
    • 在 Dubbo 基础上进行了增强,特别是扩展了对多协议的支持、分布式事务、异步调用等。
    • 添加了支持分布式事务的功能,可以更好地满足企业级应用的需求。
    • 增强了对高并发、高吞吐量场景的支持。

3. 主要区别

特性DubboDubbox
起源阿里巴巴开源项目,Apache 顶级项目淘宝团队基于 Dubbo 做的增强版本
当前维护状态由 Apache 社区维护,活跃更新不再活跃,已被 Dubbo 官方吸纳
协议支持原生支持多种协议,标准化协议支持在 Dubbo 基础上增强了对协议的支持
分布式事务支持简单的分布式事务,基于其它技术实现强化了分布式事务的支持,增强了事务管理
社区与生态作为 Apache 项目,社区活跃,生态广泛社区支持有限,基本停滞不前
使用场景广泛应用于企业级和大规模的分布式系统曾是企业级增强版,现大多已迁移到 Dubbo

最近更新时间:2024-12-11