RabbitMQ解析-高級特性

冪等性

定義:

不管進行多少次操作,結果都是一樣的。

保障方式:

  1. 唯一ID+指紋碼 機制
    指紋碼:生成的ID/業務規則

  2. 利用Redis原子性
    持久性關鍵解決的問題:數據庫和緩存如何做到原子性?
    不持久性,如何設置定時同步策略?

Confirm確認消息

生產端添加監聽

Return消息機制

生產端添加監聽,處理一些不可路由的消息

消費端自定義監聽

使用自定義消費者
代替使用while循環, 使用consumer.nextDelivery方法獲取下一條消息,進行消費處理

消費端限流

qos服務質量保證功能:非自動確認消息的前提下,如果一定數目的消息(通過基於consume或者channel設置Qos的值)未被確認前,不進行消費新的消息
注意:消費端autoAck設置爲false

消費端ACK與重回隊列

消費端的手工ACK和NACK

TTL

兩種方式
1、針對消息
2、針對隊列

死信隊列

幾種情況:
1、消息被拒絕且不回隊列;
2、消息TTL過期;
3、隊列達到最大長度;

隊列設置參數 :arguments.put(“x-dead-letter-exchange”,“dlx.exchange”)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章