問題
當時比較怪異,現象是通過rabbitmq 的management可以發送消息(消息内容比較小,很簡單的),但是通過代碼沒有任何報錯
但是消息就是不能看到(management 界面)
排錯處理
開始以為是代碼處理問題,但是沒有異常日志,也懷疑因為代碼釋出造成隊列錯誤造成消息寫入錯誤,我一般的此類問題的方式
就是基于arthas 觀察調用鍊(同時也可以看到輸入以及輸出)
對應spring boot amqttemplate 的處理(以下指令沒啥多大問題,因為業務比較小,可以執行運作)
watch org.springframework.amqp.rabbit.core.RabbitTemplate convertAndSend '{params,returnObj}' -x 5
但是通過測試觀測,資料是正确的(輸入以及輸出,而且就是沒有一樣)說明mq 的監聽服務的協定處理是正常的
當時就有點費事了,然後登入mq 伺服器,檢視mq 日志,觀測系統的cpu 以及記憶體情況,發現都是正常的,然後習慣性的看了下磁盤
空間,很不好的是磁盤100%了,可用20多M了,問題應該就是這個了(mq 資料需要落盤,磁盤100%肯定是會有問題的)
解決
核心就是清理磁盤空間,比如日志的一些其他不需要的