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

spring cloud stream 模块spring

1: 使用rabbitmq同步业务数据,由于涉及到的数据有点多,json

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

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

 

解决问题,微服务

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

因此选择的方案是使用zip压缩,而后base64处理二进制,传输数据,而后消费者使用zip解压缩ip

2: 消息出现unknown.channel.name,增长2个参数同步

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

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

 

一个月后:io

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

使用原生rabbitmq组件替换

相关文章
相关标签/搜索