🎯 什麼情境該想到我
當你「要確保一則訊息恰好被一個接收者消費一次」的時候(例如下一筆命令、派一件工作,不能被重複執行)。
⚙️ 怎麼用(步驟 / 公式)
意圖:用一個保證「每則訊息只被一個接收者取用」的通道來傳送訊息。
做法 / 結構要點:
- 通道上可以有多個接收者,但每則訊息只會交給其中一個。
- 多個接收者可用來分攤負載(競爭消費者),彼此瓜分訊息、各做各的。
- 適合命令式或工作分派的訊息,強調「只處理一次」。
🧪 我實際套用的紀錄
- (待填)
⚠️ 注意 / 什麼時候不適用
- 若你要「同一則訊息讓多方都收到」(事件廣播),這模式不適用,該用發布訂閱通道。
- 多個競爭消費者時,訊息的處理順序通常無法保證。
🔗 相關工具
- 發布訂閱通道 Publish-Subscribe Channel(對照:一則訊息廣播給所有訂閱者)
- 訊息通道 Message Channel(點對點通道是通道的一種)
- 死信通道 Dead Letter Channel(處理失敗時把訊息移走,避免卡住消費者)
- 企業整合模式