DLX,全稱為Dead-Letter-Exchange,死信交換器。消息在壹個隊列中變成死信(Dead Letter)之後,被重新發送到壹個特殊的交換器(DLX)中,同時,綁定DLX的隊列就稱為“死信隊列”。
在定義業務隊列時可以考慮指定壹個 死信交換機,並綁定壹個死信隊列。當消息變成死信時,該消息就會被發送到該死信隊列上,這樣方便我們查看消息失敗的原因。
以下幾種情況導致消息變為死信:
對於RabbitMQ 來說,DLX 是壹個非常有用的特性。它可以處理異常情況下,消息不能夠被消費者正確消費(消費者調用了Basic.Nack 或者Basic.Reject)而被置入死信隊列中的情況,後續分析程序可以通過消費這個死信隊列中的內容來分析當時所遇到的異常情況,進而可以改善和優化系統。
pom.xml添加依賴
application.properties配置RabbitMQ連接信息
啟動類實現
RabbitConfig類實現
GoController類實現