🎯 什麼情境該想到我
當你「有一件事發生,想讓所有關心它的接收者各自收到一份通知」的時候(事件廣播,例如「訂單成立」要通知庫存、通知帳務、通知寄信)。
⚙️ 怎麼用(步驟 / 公式)
意圖:用一個會把每則訊息複製給所有訂閱者的通道來廣播訊息。
做法 / 結構要點:
- 發送者把訊息發布到通道,通道把它的副本送給每一個訂閱者,各收各的一份。
- 訂閱者可自由加入或退出,發送者不需知道有誰在訂閱。
- 適合事件通知:一個來源、多方各自反應。
🧪 我實際套用的紀錄
- (待填)
⚠️ 注意 / 什麼時候不適用
- 若一則訊息只該被處理一次(命令/工作分派),用點對點通道,別廣播。
- 訂閱者若在訊息發布時未上線,是否還收得到取決於是否為持久訂閱,需明確設定。
🔗 相關工具
- 點對點通道 Point-to-Point Channel(對照:一則訊息只給一個接收者)
- 訊息通道 Message Channel(發布訂閱通道是通道的一種)
- 訊息匯流排 Message Bus(常以發布訂閱作為企業級事件廣播骨幹)
- 企業整合模式