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

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐