Dubbox 正在参加 2020 年度 OSC 中国开源项目评选,请投票支持!
Dubbox 在 2020 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
投票让它出道
已投票
Dubbox 获得 2020 年度 OSC 中国开源项目评选「最佳人气项目」 !
Dubbox 获得 2020 年度 OSC 中国开源项目评选「最佳人气项目」「最积极运营项目」 !
Dubbox 获得 2020 年度 OSC 中国开源项目评选「最积极运营项目」 !
授权协议 Apache
开发语言 Java
操作系统 跨平台
软件类型 开源软件
开源组织 当当
地区 国产
投 递 者 terenceyhj
适用人群 未知
收录时间 2014-10-23

软件简介

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之类的版本)。

展开阅读全文

代码

的 Gitee 指数为
超过 的项目

评论 (11)

加载中
都不维护了,差评
2017/11/27 14:43
回复
举报
Could not find MessageBodyWriter for response object of type: wcf.demo.dubbox.api.User of media type: application/json;charset=UTF-8、 有谁遇到过这个问题吗
2017/09/15 16:38
回复
举报
上面图表比对展示的平均响应时间单位是秒还是毫秒?因为本地测试了下,一个返回对象的get请求,响应都是一秒多。
2017/08/24 11:40
回复
举报
2.8.4我看说明可以使用jdk7,但是编译报错,我网上查一些类需要jdk8,是这样吗?
2017/04/13 10:43
回复
举报
早都开始使用spring 4.X ,是不是需要对项目中的spring做替换呢
2017/04/11 16:11
回复
举报
打分: 力荐
非常好的架构,顶一下
2017/03/27 16:17
回复
举报
424
收录时间:2014-10-23
2017/02/23 16:23
回复
举报
打分: 力荐
加油
2017/02/17 17:31
回复
举报
@小99 你们用的什么?
2017/01/20 16:44
回复
举报
这个还在用呢吗 #Dubbox#
2016/01/02 14:41
回复
举报
更多评论
发表了资讯
2014/10/23 00:00

当当网开源 Dubbox,扩展 Dubbo 服务框架支持REST风格远程调用

当当网近日开源了Dubbox项目,可为Dubbo服务框架提供多项扩展功能,包括REST风格远程调用、Kryo/FST序列化等等。 当当网架构部和技术委员会架构师沈理向InfoQ中文站介绍了Dubbox项目,开发背景和主要特点描述如下: Dubbo是一个被国内很多互联网公司广泛使用的开源分布式服务框架,即使从国际视野来看应该也是一个非常全面的SOA基础框架。作为一个重要的技术研究课题,在当当网我们根据自身的需求,为Dubbo实现了一些新的功能,...

13
120
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
发表了博客
2018/05/02 19:39

Dubbox

1.Dubbox 是一个分布式服务框架,Dubbox 致力于提供高性能和透明化的 RPC 远程服务调用方案,以及 SOA 服务治理方案。简单的说,dubbox 就是个服务框架,如果没有分布式的需求,其实是不需要用的,只有在分布式的时候,才有 dubbox 这样的分布式服务框架的需求,并且本质上是个服务调用的东东,说白了就是个远程服务调用的分布式框架。 如图为Dubbo的程序运行流程图。 (1)当一个服务启动后,也就是生产者会在Dubbo的注册中心进...

0
0
发表了博客
2018/05/23 01:50

dubbox

https://www.cnblogs.com/yjmyzz/p/dubbox-demo.html https://github.com/dangdangdotcom/dubbox https://blog.csdn.net/liubenlong007/article/details/54692241

0
0
发表于开发技能专区
2018/11/16 09:30

dubbox

不同的服务接口提供不同的端口 调用时最好修改超时时间

0
0
发表于服务端专区
2016/04/24 14:45

SpringBoot之Dubbox

上次springboot集成dubbo写过一个简单的demo调用的方式,由于spring版本的问题,这次使用duboox,完全基于注解的方式。 dubbox 地址:https://github.com/dangdangdotcom/dubbox 由于dubbox没有发布到maven中央仓库,需要自己安装到本地maven库或者私库 git clone https://github.com/dangdangdotcom/dubbox 在dubbox目录执行mvn install -Dmaven.test.skip=true来尝试编译一下dubbo(并将dubbo的jar安装到本地maven库) 1.导入...

4
21
发表了博客
2018/07/08 22:51

spring整合dubbox(一)dubbox的流程

      这是我学习dubbox的第一步,主要是了解dubbox的历史,和他的工作流程。   一. dubbox是什么       Dubbox 是一个分布式服务框架,其前身是阿里巴巴开源项目Dubbo ,被国内电商及互联网项目中使用,后期阿里巴巴停止了该项目的维护,当当网便在Dubbo基础上进行优化,并继续维护,为了与原有的Dubbo区分,故将其命名为Dubbox。       Dubbox 致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服...

0
0
发表了博客
2019/05/09 15:35

dubbox 入门demo

1、Dubbox简介   Dubbox 是一个分布式服务架构,其前身是阿里巴巴开源项目 Dubbo,被国内电商及互联网项目使用,后期阿里巴巴停止了该项目的维护,当当网便在 Dubbo 基础上进行优化,并继续维护,为了与原有的 Dubbo 区分,故将其命名为 Dubbox。   Dubbox 致力于提供高性能和透明话的 RPC 远程服务调用方案,以及 SOA 服务治理方案。简单的说,Dubbox 就是个服务框架,如果没有分布式的需全,其实是不需要用的,只有在分布...

0
0
发表了博客
2016/10/24 14:31

dubbox功能演示

# dubbox功能演示 通过以下内容介绍dubbox框架。 - dubbo是什么 - dubbox又是什么 - dubbo能做什么 - dubbo框架设计 - dubbo服务调用过程 ## 1. dubbo是什么 Dubbo是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案。 其核心部分包含: - 远程通讯: 提供对多种基于长连接的NIO框架抽象封装,包括多种线程模型,序列化,以及“请求-响应”模式的信息交换方式。 - 集群容错: 提供基于接口...

0
5
发表了博客
2017/06/20 18:20

Dubbo和Dubbox使用

一、第一个Dubbo程序 provider 目录结构 ProviderService类代码 提供服务的接口 public interface ProviderService { public String sayHello(String name); public List<String> getStrs(); } ProviderServiceImpl代码 服务实现类 public class ProviderServiceImpl implements ProviderService { @Override public String sayHello(String name) { return "Hello "+ name; } @Override public List<String> getStrs() { List<...

0
1
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
发表于开发技能专区
2018/09/08 16:10

dubbo 服务端设置超时终止执行

dubbo设置超时时间后,无论实在服务端还是消费端设置了,都只会造成消费端超时。但是服务端还在继续执行,有什么办法或者参数配置,可以在超时的时候直接终止服务端线程吗?

3
0
发表了问答
2017/01/13 13:39

急求 dubbox修改了默认端口,为什么始终会启动20880

dubbox服务提供方provider配置文件设置了<dubbo:protocol name="dubbo" port="1999" />,启动后在admin控制台 查看了下,始终是同一个service会开启了1999和20880两个端口,导致我无法在一台服务器上部署两个provider项目(端口冲突),请问下还有办法解决

2
0
发表了问答
2015/08/25 10:37

dubbox 项目启动报错,java.lang.IncompatibleClassChangeError: Implementing class

这是 错误日志。 八月 25, 2015 10:29:23 上午 org.apache.catalina.core.StandardContext filterStart 严重: Exception starting filter jfinal java.lang.IncompatibleClassChangeError: Implementing class   at java.lang.ClassLoader.defineClass1(Native Method)   at java.lang.ClassLoader.defineClass(Unknown Source)   at java.security.SecureClassLoader.defineClass(Unknown Source)   at org.apache.catalina.loade...

1
0
发表于服务端专区
2018/03/01 14:13

springboot 整合dubbox,采用外部应用服务器的servlet容器配置问题

在使用该配置使用外部容器时,官方说明: 如果你是用spring的ContextLoaderListener来加载spring,则必须保证BootstrapListener配置在ContextLoaderListener之前,否则dubbo初始化会出错。 是否有大神能够指导如何实现这个配置保证BootstrapListener在ContextLoaderListener之前完成配置?

4
0
2018/01/04 09:30

Jfinal集成dubbo可以暴露restfull API 供移动端直接使用吗

Jfinal集成dubbo可以暴露restfull API 供移动端直接使用吗? 貌似dubbox支持暴露restfullAPI的功能,能支持dubbox 吗?

5
0
发表了问答
2016/03/04 15:24

Dubbox Rest 接口Get请求时参数为对象的时候该如何配置

像这样配置可以吗,需不需要加什么注解 @GET @Path("getViolationPoi") @Produces({ ContentType.APPLICATION_JSON_UTF_8 }) @Override public Map<String, Object> findAllRecordByVin(PeccancyRequestDto peccancyDto) throws ServLayerException{...

3
0
发表了问答
2017/07/13 09:47

求解!maven编译dubbo,在dubbo-container-spring提示无法访问BeanNameAware

[INFO] ------------------------------------------------------------------------ [INFO] BUILD FAILURE [INFO] ------------------------------------------------------------------------ [INFO] Total time: 8.294 s [INFO] Finished at: 2017-07-13T09:37:34+08:00 [INFO] Final Memory: 24M/181M [INFO] ------------------------------------------------------------------------ [ERROR] Failed to execute goal or...

1
0
发表了问答
2017/06/23 13:55

项目中引用多个dubbo服务,zookeeper注册中心地址不一样问题

现在的项目我自己有一个dubbo服务,我还要引用其他项目的服务,就出现了这么一个情况:我的服务地址是192.168.90.166,他的服务地址是192.168.90.180,然后我在项目中使用import引入了xml配置文件,如下: <dubbo:consumer check="false" timeout="10000" /> <dubbo:application name="web-api" /> <!--引入配置文件--> <import resource="classpath*:aaaa-service-api.xml"/> <import resource="classpath*:bbbb-service-api....

10
0
发表了问答
2017/06/08 14:51

dubbox+thrift ClassCastException

我使用的是dubbox 2.8.4+thrift,在某些情况下会报类型转换异常,报这个异常之后只能重启才能正常,在某些情况后又会抛异常,以下是异常堆栈。 [DUBBO] ChannelEventRunnable handle RECEIVED operation error, channel is NettyChannel [channel=[id: 0xbebe1b7d, /10.162.90.23:11451 => /10.51.38.65:30001]], message is Request [id=18, version=null, twoway=true, event=false, broken=false, data=RpcInvocation [meth...

3
0
发表了问答
2016/11/10 12:56

dubbox rest 启动tomcat报错问题

dubbox rest 使用外部tomcat启动,启动报错!!!请大神们看看! 开发环境:dubbox2.8.4,jdk1.8,tomcat7,spring4.2.5 服务调用者为非dubbo项目,服务提供者为dubbo项目 报错信息如下: 严重: Error starting static Resources java.lang.IllegalArgumentException: Document base C:\Users\ADMINI~1\AppData\Local\Temp\webapps\docs does not exist or is not a readable directory at org.apache.naming.resources.FileDi...

1
0
发表了问答
2015/06/11 15:11

Dubbox 2.8.4版本,使用FST或者Kryo序列化,当服务的方法参数含有Java原生数据类型时(比如int,long等),就会出错

Dubbox 2.8.4版本,使用FST或者Kryo序列化,当服务的方法参数含有Java原生数据类型时(比如int,long等),就会出错。需要换成Integer、Long FST出现java.io.EOFException Kryo出现java.lang.ClassCastException: java.lang.String cannot be cast to java.util.Map

14
1
发表了问答
2017/02/17 15:07

zookeeper里只存了dubbox rest服务的类名 方法名 我要怎样拿到资源地址,怎样调用

zookeeper里只存了dubbox rest服务的类名 方法名 我要怎样拿到资源地址,怎样调用

1
0
发表了问答
2016/07/19 11:44

dubbox与swagger如何集成

使用swagger如何扫描到dubbox发布的rest接口及注解?

1
0
发表了问答
2016/11/11 13:14

dubbox restful 请求报错???

错误代码如下: [11/11/16 01:09:50:050 CST] http-nio-8080-exec-3 WARN core.ExceptionHandler: failed to execute javax.ws.rs.NotSupportedException: Cannot consume content type at org.jboss.resteasy.core.registry.SegmentNode.match(SegmentNode.java:380) at org.jboss.resteasy.core.registry.SegmentNode.match(SegmentNode.java:114) at org.jboss.resteasy.core.registry.RootNode.match(RootNode.java:43) at ...

3
0
发表了问答
2016/11/07 21:56

DUBBOX rest如何进行文件上传?

如题,刚学dubbox,rest风格如何进行文件上传?RpcContext获取HttpServletRequst从中能否获取到前端传进来的文件流信息? 有哪位用过的请指教,最好来个demo。。

5
1
发表了问答
2016/11/07 11:59

手机端怎么调用dubbox rest 服务

需要在手机端调用dubbox rest服务提供者,又不知道怎么弄,大家知道肿么弄吗?

4
0
发表了问答
2016/05/30 16:23

dubbo或dubbox中怎么使用更新的jetty

dubbo在使用http协议的时候指定server为jetty,jetty版本为6.1.26,这也太老了吧,有什么办法可以用到更新一点的版本?

1
0
发表了问答
2016/07/31 13:50

dubbox2.8.4 依赖tomcat8 启动provider报错

如题 tomcat8 + dubbox2.8.4 仿照dubbox-demo写的项目依赖容器tomcat启动时候报错,但是不影响运行。 为什么会报这个错了

1
0
发表了问答
2015/08/28 16:24

dubbox 注册后的服务,访问地址为什么还是原来的。

按照文档写了一个dubbox 的小例子。但是发现一个问题。 我的zookeeper 服务地址是:192.168.60.27:2181 本机地址为:192.168.60.123 服务xml配置如下 <dubbo:application name="dubbox-service"/> <dubbo:registry address="zookeeper://192.168.60.27:2181"/> <dubbo:protocol name="rest" port="8888" contextpath="services"/> <dubbo:service interface="com.test.service.TestService" ref="testServiceImpl...

2
0
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
11 评论
472 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部