上一代产品模块有30多个,从底层硬件基础组件到上层应用控制、qos,各个模块通讯听说都是直接向模块索要信息。最坏的死锁状况大概就是这样:设计模式
在产品升级后,加入了一个消息中心的模块,负责统一管理各个模块的消息。具体的过程是:网络
(1)模块注册,初始化消息通知列表架构
(2)消息请求,将请求加入通知列表设计
(3)处理请求,依次处理列表中的请求blog
除此以外能够传递相关参数、设置优先级等等。貌似有点像设计模式中的观察模式?产品
从新架构的消息模块大概像这样,看似更加简洁和统一,迄今未知,消息中心做为核心组件之一在千兆网络的数据包处理中良好的运做着。引入消息中心的模块通讯大概就像下图,每一个模块都只关心注册的消息,并仅跟消息中心打交道。基础