RabbitMQ 的消息確認機制中,“confirm” 這個詞主要出現在兩個關鍵環節,對應兩種確認:
? 兩種 confirm(確認)機制
確認類型 | 觸發方 | 說明 |
---|---|---|
Publisher Confirm(生產者確認) | 生產者 → Broker | 消息是否成功到達 Exchange(交換機) |
Consumer Ack Confirm(消費者確認) | 消費者 → Broker | 消息是否成功被 消費并處理 |
📌 補充說明
-
Publisher Confirm 還可細分為:
ack
:消息成功到達交換機。nack
:消息未到達交換機(如交換機不存在)。return
:消息到達交換機但未匹配到隊列(需配置publisher-returns=true
)。
-
Consumer Confirm 有三種模式:
NONE
:自動確認(可能丟消息)。AUTO
:異常時消息重回隊列。MANUAL
:手動調用basicAck
/basicNack
確認或拒絕。
? 總結一句話
RabbitMQ 的消息確認機制中,共有 2 種 confirm:生產者確認(Publisher Confirm) 和 消費者確認(Consumer Ack Confirm)。