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組件替換

相關文章
相關標籤/搜索