rabbitmq消息frame_max超过131072以及unknown.channel.name

spring cloud stream 模块

1: 使用rabbitmq同步业务数据,因为涉及到的数据有点多,

   提示 frame_max:包大小,若包小则低延迟,若包则高吞吐,默认是131072=128K

2: 数据包经常跑到 DLQ里面,并且发现业务有影响,经常出现 unknown.channel.name 

 

解决问题,

1: 数据包太大了,不想影响业务,也不想修改rabbitmq的配置,因为并发数不是很高,处理效率没有要求.

所以选择的方案是使用zip压缩,然后base64处理二进制,传输数据,然后消费者使用zip解压缩

2: 消息出现unknown.channel.name,增加2个参数

partitioned: true以及instance-index,使用分区,好像有点效果,避免1个消息被多微服务多个实例消费,需要设置group

destination: PayComplete222Exchange
exchangeType: "topic"
autoBindDlq: true
bindingRoutingKey: "#"
republishToDlq: true
contentType: "application/json"
partitioned: true
instance-index: 0

 

一个月后:

运行一段时间,还是发现存在unknown.channel.name.最终决定不使用这该死的模块.可能是使用的姿势不对.

使用原生rabbitmq组件替换

 

转载于:https://my.oschina.net/u/1538135/blog/1939586

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值