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组件替换