spring cloud版本:Hoxton.SR1
spring cloud gateway 使用默认的 netty
问题:
使用websocket,通过spring cloud gateway转发传送数据大于64kb时会丢失数据,查看源码发现netty中默认websocket限制大小是64k。
原因(有兴趣的可以查看下源码):
ReactorNettyWebSocketClient 这个类下面的 maxFramePayloadLength。
解决方法:
在 gateway 项目的配置文件中加入下面这句话并设置大小。
-
spring:
-
cloud:
-
gateway:
-
httpclient:
-
websocket:
-
max-frame-payload-length: 10485760 # 需要设置的大小
官方文档地址:https://docs.spring.io/spring-cloud-gateway/docs/2.2.7.RELEASE/reference/html/appendix.html
</div><div><div></div></div>
</div>
</article>