梦断代码3-message center消息的集中分发

时间:2023-03-09 00:12:42
梦断代码3-message center消息的集中分发

上一代产品模块有30多个,从底层硬件基础组件到上层应用控制、qos,各个模块通信据说都是直接向模块索要信息。最坏的死锁情况大概就是这样:

梦断代码3-message center消息的集中分发

在产品升级后,加入了一个消息中心的模块,负责统一管理各个模块的消息。具体的过程是:

(1)模块注册,初始化消息通知列表

(2)消息请求,将请求加入通知列表

(3)处理请求,依次处理列表中的请求

除此之外可以传递相关参数、设置优先级等等。貌似有点像设计模式中的观察模式?

重新架构的消息模块大概像这样,看似更加简洁和统一,迄今未知,消息中心作为核心组件之一在千兆网络的数据包处理中良好的运作着。引入消息中心的模块通信大概就像下图,每个模块都只关心注册的消息,并仅跟消息中心打交道。

梦断代码3-message center消息的集中分发