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: PayComplete222ExchangeexchangeType: "topic"autoBindDlq: truebindingRoutingKey: "#"republishToDlq: truecontentType: "application/json"partitioned: trueinstance-index: 0
一个月后:
运行一段时间,还是发现存在unknown.channel.name.最终决定不使用这该死的模块.可能是使用的姿势不对.
使用原生rabbitmq组件替换