我有两个制作人向一个主题发送消息。一个生产者发送消息,保持5秒的间隔,另一个生产者暂时发送消息,因为我将收集170万条数据的SQL SERVER DB,每次发送10条。但每个消息大小超过2M或更多,我认为如果消息超过4M,则不应发生TooLongFrameException错误。
2020-05-19 18:30:16 INFO NettyServerWorkerThread_6 - NETTY SERVER PIPELINE: channelRegistered 94.102.49.74:59895 2020-05-19 18:30:16 INFO NettyServerWorkerThread_6 - NETTY SERVER PIPELINE: channelActive, the channel[94.102.49.74:59895] 2020-05-19 18:30:16 ERROR NettyServerWorkerThread_6 - decode exception, 94.102.49.74:59895 io.netty.handler.codec.TooLongFrameException: Adjusted frame length exceeds 8388608: 50331699 - discarded at io.netty.handler.codec.LengthFieldBasedFrameDecoder.fail(LengthFieldBasedFrameDecoder.java:501)] ...igore ... 2020-05-19 18:30:16 INFO NettyServerSelector_3_1 - closeChannel: close the connection to remote address[94.102.49.74:59895] result: true
所以,我不知道是什么原因造成的,请给我一些建议。谢谢。
原提问者GitHub用户hzz1995
在我看来,因为消息太大,所以超过8M。在业务级别拆分消息,确保每条消息的大小不超过8M。
原回答者GitHub用户lizhiboo
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
阿里云拥有国内全面的云原生产品技术以及大规模的云原生应用实践,通过全面容器化、核心技术互联网化、应用 Serverless 化三大范式,助力制造业企业高效上云,实现系统稳定、应用敏捷智能。拥抱云原生,让创新无处不在。