冪等性
定義:
不管進行多少次操作,結果都是一樣的。
保障方式:
-
唯一ID+指紋碼 機制
指紋碼:生成的ID/業務規則 -
利用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”)