文档章节

Dubbo服务限制大数据传输抛Data length too large: 13055248, max payload: 8388608解决方案

h
 huangkejie
发布于 08/23 14:19
字数 426
阅读 31
收藏 0

当dubbo服务提供者向消费层传输大数据容量数据时,会受到Dubbo的限制,报类似如下异常:

2019-08-23 11:04:31.711 [ DubboServerHandler-XX.XX.XX.XXX:20880-thread-87] - [ ERROR ] [com.alibaba.dubbo.remoting.transport.AbstractCodec : 86] - Data length too large: 13055248, max payload: 8388608, channel: NettyChannel [channel=[id: 0x7ed65435, /XX.XX.XX.XXX:54065 => /XX.XX.XX.XXX:20880]]
java.io.IOException: Data length too large: 13055248, max payload: 8388608, channel: NettyChannel [channel=[id: 0x7ed65435, /XX.XX.XX.XXX:54065 => /XX.XX.XX.XXX:20880]]

 

原因就是Dubbo服务限制大数据传输,最大限制为8M,此时可以修改dubbo提供者的配置层,修改payload属性值。

1)在dubbo-provider.properties增加

#当dubbo服务提供层向消费层传输大数据容量的对象时,会受到Dubbo的限制,默认是8M,修改为20M,1M=1048576

dubbo.protocol.dubbo.payload=20971520

2)在dubbo-provider-context.xml中增加红色属性以及对应的值

<dubbo:protocol name="${dubbo.protocol.name}" port="${dubbo.protocol.port}" payload ="${dubbo.protocol.dubbo.payload}" />

下面大概说一下dubbo:protocol里面的属性
  threadpool:线程池类型,可选:fixed/cached ,默认fixed 。
  threads :服务线程池大小(固定大小) ,默认为100
  payload:请求及响应数据包大小限制,单位:字节,默认为88388608(=8M)
  如:
  <dubbo:protocol name="dubbo" port="27001" threadpool="cached" threads="20"/>
  ThreadPool
  fixed 固定大小线程池,启动时建立线程,不关闭,一直持有。(缺省)
  cached 缓存线程池,空闲一分钟自动删除,需要时重建。
  limited可伸缩线程池,但池中的线程数只会增长不会收缩。(为避免收缩时突然来了大流量引起的性能问题)。

© 著作权归作者所有

h
粉丝 5
博文 51
码字总数 21000
作品 0
广州
程序员
私信 提问
cause: Data length too large: 9766893, max payload: 8388608

请问这个问题报的什么错?? { "resultCode":"1", "resultMessage":"com.alibaba.dubbo.rpc.RpcException: Failed to invoke the method queryStaffInfoCount in the service com.lebo.chezh......

心心相印
2018/08/30
655
0
mysql分批次插入VS一次性插入

由于临近考试,需要从前端页面将整个学校的学生信息通过Excel导入到数据库中。导入3万数据,先是进行各种数据校验,然后才进行入库操作。ito401三张表,云平台一张表。结果运行不到一半页面就...

qq_26545305
2017/12/14
0
0
SOFAMesh中的多协议通用解决方案x-protocol介绍系列(2):快速解码转发

复制 一键排版 代码行数 代码紧凑 代码主题: SOFAMesh中的多协议通用解决方案x-protocol介绍系列(2):快速解码转发 2018年上半年,蚂蚁金服决定基于 Istio 订制自己的 ServiceMesh 解决方...

s花苞酱
2018/12/21
0
0
Dubbo处理TCP拆包粘包问题

Dubbo处理TCP拆包粘包问题 在TCP网络传输工程中,由于TCP包的缓存大小限制,每次请求数据有可能不在一个TCP包里面,或者也可能多个请求的数据在一个TCP包里面。那么如果合理的decode接受的T...

Bieber
2015/08/03
6.6K
13
从Chrome源码看HTTP/2

我在《怎样把网站升级到http/2》介绍了升级到http/2的方法,并说明了http/2的优点: http头部压缩 多路复用 Server Push 下面一一进行说明。 1. 头部压缩 为什么要进行头部压缩呢?我在《Web...

人人网FED
2018/03/18
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Spring Boot + Mybatis + Ehcache 二级缓存实例

二级缓存是多个SqlSession共享的,其作用域是mapper的同一个namespace,不同的sqlSession两次执行相同namespace下的sql语句且向sql中传递参数也相同即最终执行相同的sql语句,第一次执行完毕...

xiaolyuh
23分钟前
4
0
Spring源码学习(二)哎呦,按菜谱做菜与AbstractAutowireCapableBeanFactory.createBean流程差不多

记得跟老婆谈恋爱时,有一天心血来潮给老婆做饭,按照菜谱一步一步的做,结果差点把厨房烧了!!! 这事至今老婆还记得。 入口 上一篇说了,AbstractBeanFactory.getBean的主流程 ,今天来说下...

温安适
25分钟前
36
0
前端UI攻城狮 你们该抛弃jQuery了

你不再需要jQuery! Web工程师太依赖jQuery了,某种意义上说jQuery已经成了JavaScript的同义词。但是我们真的需要他么?或许我们应该反思一下什么时候才真的需要jQuery。 对我个人而言开始使...

前端老手
26分钟前
5
0
六、Java设计模式之工厂方法

工厂方法定义: 定义一个创建对象的接口,但让实现这个接口的类来决定实例化哪个类,工厂方法让类的实例化推迟到子类中进行 类型:创建型 工厂方法-使用场景: 创建对象需要大量重复的代码 ...

东风破2019
今天
6
0
win服务器管理遇到的一系列问题记录

有些小伙伴在使用iis7远程桌面管理工具的时候总是会遇到一系列的问题,下面就是为大家介绍一下服务器日常管理过程中出现的问题及我的解决办法和心得。希望能帮到大家。   拒绝服务器重新启...

1717197346
今天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部