`

Dubbo 扩展 Dubbox

 
阅读更多

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高效序列化实现:基于当今比较知名的KryoFST高性能序列化库,为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之类的版本)

       

     

  • 大小: 201.8 KB
  • 大小: 41.9 KB
  • 大小: 43.1 KB
分享到:
评论

相关推荐

    扩展的dubbo-monitor的监控数据库存储

    扩展的dubbo的监控,采用了mysql来存放监控信息 ,完美兼容Dubbo和Dubbox的最新版本,包含数据库建标sql文件

    腾讯java面试题合集

    答:Dubbox 和Dubbo本质上没有区别,名字的含义扩展了Dubbo而已,以下扩展出来的功能 支持REST风格远程调用(HTTP + JSON/XML); 支持基于Kryo和FST的Java高效序列化实现; 支持基于Jackson的JSON序列化; 支持基于...

    Spring-Boot的Dubboxboot-dubbo.zip

    1、完全兼容Dubbo2、功能强大3、性能强悍4、运行稳定5、可扩展性较好, Api和Spi分离缺点:  1、官方停止维护已经两年之久了2、依赖较为陈旧3、运行时较重,应该微内核和模块化这个框架4、配置较为复杂,学习...

    gateway-dubbox:服务网关集成dubbox rest服务

    网关系统目的我们服务框架使用的是dubbox(这个不用再多描述了),内部系统调用使用的是dubbo协议;而对于前端提供服务则使用rest协议。前端应用面临许多rest服务,为了解决调用的统一,所以需要一个网关系统。为什么...

    最新版 扩展的dubbo的监控,采用了mysql来存放监控信息

    最新版 扩展的dubbo的监控,采用了mysql来存放监控信息 比simple好看 欢迎下载

    dubbox-master

    经过扩展的dubbo框架包

    Dubbox Rest

    jfinal 与dubbox 和 rest的 简单列子,不过jfinal 在其中使用的比较少,大多是基于java写的,dubbox 则是在 dubbo的基础上进行的扩展,运行示例的话,必须要有 dubbo admin的管理服务和zookeeper 服务。注意 这是个...

    dubbox-paas:dubbox 2.8.1版本 在其基础之上进行扩展

    dubbox-paas dubbox 2.8.1版本 在其基础之上进行扩展 1.基于jboss easyrest暴露必要的rest扩展接口参数 2.完成rest服务公开化展示工作

    dubbo-js:粗麻布上的Node.js本机Apache Dubbo客户端

    Nacos,Redis)支持或直接连接到服务可扩展性,灵感来自Koa中间件内置重新连接策略打字稿类型定义自动将Java接口转换为Typescript类型定义的工具Dubbox支持建筑学入门yarn add apache-dubbo-js用法下面的代码片段...

    浅谈WebService的版本兼容性设计

    近年来越来越多的企业或者网站支持Restfull方式的WebService,比如当当网开源Dubbox,扩展Dubbo服务框架支持REST风格远程调用,这个是Java版本的,在.NET中ServiceStack天生支持Restfull风格的WebService。...

    ssm-demo:Spring + SpringMVC + Mybatis + easyUI实现简单的后台管理系统

    :前扩展分离+部署部署(springboot + vue) :dubbo服务化 :springcloud技术栈实现微服务化 特别提示:数据库sql脚本文件在resources / db目录下! 本项目为ssm系列的第一篇, Spring + SpringMVC + mybatis + ...

Global site tag (gtag.js) - Google Analytics