🎯 什麼情境該想到我
當你「想用一個消費者統一從通道收訊息,再把訊息分派給多個處理者(performer)並行處理,以集中協調分工」的時候。
⚙️ 怎麼用(步驟 / 公式)
意圖:以單一消費者接收通道上的所有訊息,再依規則把每則訊息交給對應的 performer 處理,藉此協調並行與控制。
做法 / 結構要點:
- Dispatcher 從通道收訊息。
- 依內容 / 類型決定交給哪個 performer(可用執行緒池並行)。
- performer 負責實際處理;Dispatcher 專責收與派。
🧪 我實際套用的紀錄
- (待填)
⚠️ 注意 / 什麼時候不適用
- 與競爭消費者達成類似並行效果,但控制點集中在 Dispatcher(可決定分派策略、維持部分順序)。
- Dispatcher 本身可能成為單點瓶頸。
- 分派與處理分離,複雜度較高。
🔗 相關工具
- 競爭消費者 Competing Consumers(同家族,達成類似並行的另一種做法)
- 選擇性消費者 Selective Consumer(同家族,改由消費端依條件挑訊息)
- 企業整合模式