Dubbox Dubbo 扩展

开源网站开源项目 24-07-04 17:57:01

Dubbo是一个被国内很多互联网公司广泛使用的开源分布式服务框架,即使从国际视野来看应该也是一个非常全面的SOA基础框架。作为一个重要的技术研究课题,在当当网我们根据自身的需求,为Dubbo实现了一些新的功能,并将其命名为Dubbox(即Dubbo eXtensions)。

主要的新功能包括:

支持REST风格远程调用(HTTP + JSON/XML):基于非常成熟的JBoss RestEasy框架,在dubbo中实现了REST风格(HTTP + JSON/XML)的远程调用,以显著简化企业内部的跨语言交互,同时显著简化企业对外的Open API、无线API甚至AJAX服务端等等的开发。事实上,这个REST调用也使得Dubbo可以对当今特别流行的“微服务”架构提供基础性支持。 另外,REST调用也达到了比较高的性能,在基准测试下,HTTP + JSON与Dubbo 2.x默认的RPC协议(即TCP + Hessian2二进制序列化)之间只有1.5倍左右的差距,详见下文的基准测试报告。

支持基于Kryo和FST的Java高效序列化实现:基于当今比较知名的Kryo和FST高性能序列化库,为Dubbo 默认的RPC协议添加新的序列化实现,并优化调整了其序列化体系,比较显著的提高了Dubbo RPC的性能,详见下图和文档中的基准测试报告。

支持基于嵌入式Tomcat的HTTP remoting体系:基于嵌入式tomcat实现dubbo的 HTTP remoting体系(即dubbo-remoting-http),用以逐步取代Dubbo中旧版本的嵌入式Jetty,可以显著的提高REST等的远 程调用性能,并将Servlet API的支持从2.5升级到3.1。(注:除了REST,dubbo中的WebServices、Hessian、HTTP Invoker等协议都基于这个HTTP remoting体系)。

升级Spring:将dubbo中Spring由2.x升级到目前最常用的3.x版本,减少项目中版本冲突带来的麻烦。

升级ZooKeeper客户端:将dubbo中的zookeeper客户端升级到最新的版本,以修正老版本中包含的bug。

上面很多功能已在当当网内部稳定的使用,现在开源出来,供大家参考和指正。也希望感兴趣的朋友也来为Dubbo贡献更多的改进。

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

[Dubbox Dubbo 扩展]相关推荐
Syslinux 启动装载器

Syslinux 启动装载器

syslinux是一个轻量级的启动装载器,只用Windows的人可能不明白是什么东西,如果玩过Linux,一定知道lilo……...

Collage 分布式应用开发框架

Collage 是一个跨平台的 C++库用于构建异构和分布式的应用。这是 Equalizer 并行渲染框架的集群后端。主……...

AionChs 永恒之塔java版服务器

AionChs 永恒之塔java版服务器

1、升级奖励系统: 可以自定义设置6个不同等级以及奖励物品,数量 和 升级后系统提示的信息。 例如: 设……...

Telegram 即时通讯软件

Telegram 即时通讯软件

Telegram Messenger是一个跨平台的即时通讯软件,它的客户端是自由及开放源代码软件,但是它的服务器是专……...

今日开源
  1. Taro UI 基于 Taro 的多端 UI 组件库

    Taro UI 基于 Taro 的多端 UI 组件库

    Taro UI 是由凹凸实验室推出的一款基于Taro框架开发的多端 UI 组件库。 特性 基于Taro开发 UI 组件 一套组件可以在微信小程序,H5,ReactNative等多端适配运行 提供友好的 API,可灵活的使用组件 Taro UI 的第……

    开源软件 2024-07-07

  2. knight HTTP 服务器

    knight 是一个 Go 语言写的 HTTP 服务器,支持自动重载功能,就是可以自动检测文件的改变并根据需要重启服务器。 用法: packagemainimport("fmt""net/http""github.com/fengsp/knight")funchandler(whttp.Respons……

    开源软件 2024-07-06

  3. Winds 高颜值 RSS & Podcast 应用

    Winds 高颜值 RSS & Podcast 应用

    Winds 是基于 React / Redux / Node 构建的高颜值开源 RSS 和 Podcast 应用。 Winds 由Stream提供活动流和私有化,Algolia用于搜索,AWS用于托管,MongoDB Atlas提供 DBaaS ,均可以使用免费的版本托管或在自己的……

    开源软件 2024-07-06

返回顶部小火箭