Mosquitto传输与转存方式的研究与优化
MQTT(Message Queue Telemetry Transport,消息队列遥测传输)协议是一种为大量计算处理能力有限的远程传感器和控制设备之间进行通信而设计的协议,特别适用于在低带宽、不可靠网络环境下工作。Mosquitto是一款使用发布/订阅模式提供消息推送的开源消息代理软件。
Mosquitto实现了消息推送协议MQTT v3.1,非常适合轻量级消息的推送。然而随着智能终端处理数据的能力逐渐增强,通过Mosquitto传输的数据量会随之变大。
例如,传输一幅高清图片或一段小视频。Mosquitto当前传输方式存在服务器端内存占用量随订阅者个数增加而急剧上升的问题。
而且目前国内外与Mosquitto相关的研究文献较少,大部分文献主要是在研究中使用了Mosquitto。因此,对Mosquitto传输机制的研究与优化对于完成大文件类消息推送功能等问题具有重要意义。
同时,对Mosquitto的转存方式进行研究,对于是否能进一步提高Mosquitto的实时性等系统性能具有积极的探索意义。本文针对Mosquitto当前传输方式和转存方式中存在的实际问题,研究
分析了Mosquitto的传输和转存机制,并分别提出了对应的优化方案。
通过对相关问题的深度分析,实现了Mosquitto在消息传输和转存机制上的优化方案,通过实际测试结果检验优化方案对系统性能的影响。本文完成的工作如下:1)深入分析了Mosquitto采用的消息传输和转存机制,从源码角度分析了消息传输中内存占用量随订阅者个数增加而急剧上升的原因,发现消息转存机制上缺少内存分配管理机制,并在此基础上提出了相应的优化方案。
2)设计并实现了一种更适合大文件类消息推送的优化方案。该方案可避免传输过程中因内存消耗过大而带来内存溢出、无法完成正常推送功能等问题。开源mqtt服务器
3)设计并实现了一种引入内存管理机制的转存方式的优化方案。该方案可在一定程度上提高Mosquitto的实时性能。
4)将以上两点的优化方案应用于实际应用中,并进行了一系列的测试实验,验证和对比了两种方案的实用性以及优化效果。本文重点对Mosquitto传输及转存方式进行了深入研究,并提出了相应场景下出现问题的优化方案,对提高Mosquitto在消息推送时的整体性能具有一定的实用价值和参考意义。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。