对嵌入式系统使用消息队列的一些认识

2019-07-13 00:38发布

    由于项目需要,在嵌入式操作系统的中间件设计中,采用了消息队列来作为各个模块之间的通信方式,同时允许用户层的不同用户来访问中间件的各个模块。     现在列出下面三个问题来加深对消息队列的理解,以便后续的架构优化: 问题1:为什么要使用消息队列?
问题2:消息队列的优缺点?
问题3:如何增强消息队列使用的稳定性? 问题1:为什么会使用消息队列?      由于业务划分有用户层,中间层和系统层。要保证用户层的多个用户对中间层的不同模块之间的访问,以及多个中间层的模块要访问系统层的不同模块,选择client-server模型来满足设计需求。要完成client-server之间的通信有多种途径,选择消息队列一方面是为了将系统的耦合性降低,另一方面是为了保持模块异步运行,减少阻塞。 问题2:消息队列的优缺点?     (1)消息队列出问题将会引起整个系统紊乱,因为在client-server模型中通信都是采用的消息队列,所以要是消息队列出问题就会引起整个系统的紊乱。     (2)消息有可能会丢失,重复使用等问题 问题3:如何增强消息队列使用的稳定性?     为了防止消息重复使用,一方面不同client有各自的标志,防止特定的消息被其它模块使用;另一方面消息在接收完成之后将会被删除。对消息队列的消息长度要多适当调整,避免有些消息过长而被丢弃。至于消息队列本身的问题,需要从系统层面去多分析和优化。