🎯 什麼情境該想到我
當你要用訊息佇列/事件把多個系統串接起來,思考「訊息怎麼流、怎麼繞送、怎麼轉換」時。
⚙️ 怎麼用(選對模式組合)
- 通道(Channel):訊息的傳輸管道;點對點(一對一消費)vs 發布訂閱(一對多)。
- 路由(Routing):
- Router 依內容決定去向、Filter 過濾、Splitter 拆分、Aggregator 聚合多筆為一。
- 轉換(Transformation):Translator 轉格式、Enricher 補資料——讓不同系統的訊息互通。
- 端點(Endpoint):系統如何收發;冪等消費者處理重複投遞(見 工具-MQ消費端防禦三原則)。
- 可靠性:保證投遞 + 死信佇列 + 重試退避。
🧪 我實際套用的紀錄
- 2026-07-15:(待填)
⚠️ 注意
- 非同步整合威力大但難除錯(訊息在哪、為何沒到);務必配可觀測性與死信處理。
🔗 相關工具
- 工具-Transactional-Outbox-Pattern —— 生產端的落地細節,確保訊息與資料庫狀態不會脫節
- 工具-MQ消費端防禦三原則 —— 消費端的落地細節,冪等與重試是實際接上之後的必修
- 工具-服務容錯設計 —— 同步呼叫的對照組,什麼時候該改走訊息、什麼時候該熔斷