上一代產品模塊有30多個,從底層硬件基礎組件到上層應用控制、qos,各個模塊通訊聽說都是直接向模塊索要信息。最壞的死鎖狀況大概就是這樣:設計模式
在產品升級後,加入了一個消息中心的模塊,負責統一管理各個模塊的消息。具體的過程是:網絡
(1)模塊註冊,初始化消息通知列表架構
(2)消息請求,將請求加入通知列表設計
(3)處理請求,依次處理列表中的請求blog
除此以外能夠傳遞相關參數、設置優先級等等。貌似有點像設計模式中的觀察模式?產品
從新架構的消息模塊大概像這樣,看似更加簡潔和統一,迄今未知,消息中心做爲核心組件之一在千兆網絡的數據包處理中良好的運做着。引入消息中心的模塊通訊大概就像下圖,每一個模塊都只關心註冊的消息,並僅跟消息中心打交道。基礎