Dubbo Data length too large: xxx, max payload: xxx问题解决

问题描述:
Caused by: java.util.concurrent.ExecutionException: org.apache.dubbo.remoting.RemotingException: Data length too large: 15557929, max payload: 8388608, channel: NettyChannel

问题分析:
1、Dubbo接口返回数据量太大,Dubbo接口最大限制为8M。

如果要增大dubbo最大报文限制,可以通过dubbo.protocol.payload=2010241024 设置为20m或者可以更大,但是通常不建议设置。

为什么不能传大包?
因 dubbo 协议采用单一长连接,如果每次请求的数据包大小为 500KByte,假设网络为千兆网卡 3,每条连接最大 7MByte(不同的环境可能不一样,供参考),单个服务提供者的 TPS(每秒处理事务数)最大为:128MByte / 500KByte = 262。单个消费者调用单个服务提供者的 TPS(每秒处理事务数)最大为:7MByte / 500KByte = 14。如果能接受,可以考虑使用,否则网络将成为瓶颈。

参考官方文献

猜你喜欢

转载自blog.csdn.net/qq_34041723/article/details/126032391