做網站外快一年的百度指數
基本概念:
????????RabbitMQ生產者可靠性主要涉及確保消息能夠可靠地發(fā)送到RabbitMQ服務器,并且在出現故障時能夠進行適當的處理。
消息確認機制(Publisher Confirms):
????????啟用 Publisher Confirms:生產者在發(fā)送消息之前,先向 RabbitMQ 服務器請求啟用 Publisher Confirms 模式。
????????發(fā)送消息:生產者發(fā)送消息到 RabbitMQ 服務器。
????????消息確認:一旦消息被成功投遞到所有匹配的隊列,RabbitMQ 服務器會發(fā)送一個確認(ACK)回給生產者。
????????處理確認:生產者接收到 ACK 后,知道消息已經成功送達。如果消息無法送達,比如因為隊列不存在或者其他內部錯誤,RabbitMQ 會發(fā)送一個否定確認(NACK)
如何處理生產者的確認消息:
? ? ? ? 生產者確認需要額外的網絡和系統(tǒng)資源的開銷,盡量不要使用,如果一定要使用,無需開啟Publisher-Return機制,因為一般路由失敗是自己業(yè)務問題,對于nack消息可以有限次數重試,依然失敗則記錄異常消息
事務支持:
????????使用事務來確保消息的可靠發(fā)送。如果消息發(fā)送失敗,生產者可以回滾事務并重試,但這會影響性能。
生產者重連
????????當 RabbitMQ 生產者與 RabbitMQ 服務器之間的連接因為網絡問題或其他原因斷開時,生產者能夠自動嘗試重新連接到服務器的過程。這是確保消息發(fā)送可靠性的一種重要機制。