🎯 什麼情境該想到我
當你「用發佈-訂閱,但擔心訂閱者離線期間會漏掉訊息,希望它上線後能補收離線時錯過的訊息」的時候。
⚙️ 怎麼用(步驟 / 公式)
意圖:讓訂閱在訂閱者離線時仍保留其應收的訊息,訂閱者重新連線後可補收,不會漏接。
做法 / 結構要點:
- 訂閱者以「持久」方式訂閱主題,並有穩定的識別。
- 離線期間,訊息系統為它保留發佈到該主題的訊息。
- 重新連線後,系統把保留的訊息投遞給它。
🧪 我實際套用的紀錄
- (待填)
⚠️ 注意 / 什麼時候不適用
- 保留訊息需要儲存空間,長期離線會累積。
- 相對「非持久訂閱」,資源成本較高。
- 需要穩定的訂閱者識別,才能對應到保留的訊息。
🔗 相關工具
- 冪等接收者 Idempotent Receiver(同家族,處理補收造成的重複)
- 事件驅動消費者 Event-Driven Consumer(同家族,常以回呼方式消費訂閱)
- 企業整合模式