基于MQTT的消息推送集群系统的设计与实现
发布时间:2023-04-10 18:19
随着万物互联的发展和兴起,物联网设备之间的消息传递因其网络环境的不同而成为了一种新的需求。Message Queuing Telemetry Transport(MQTT,消息队列遥测传输)是这类场景最常见的协议之一。MQTT协议数据包小,带宽利用率高,并且采用具有更强去耦能力的发布/订阅模式,更为贴合物联网的应用场景。基于此,本文针对物联网的特定应用场景,研究设计并实现一种基于MQTT的消息推送集群系统。该系统作为公司绿洲物联网平台项目的一部分,目的是服务于物联网线上平台,解决实际应用中发现的问题,优化消息推送系统在具体应用场景的易用性。具体来说,系统负责与外部终端设备建立稳定MQTT连接,处理基于主题的发布订阅请求;与内部应用微服务连接,提供一种基于发布订阅模式的消息传输模式供平台微服务调用。在满足上述功能的基础上,设计集群方案来满足系统对高可用性、可扩展性的要求,以及设计安全方案来保障系统安全和用户数据安全。具体工作内容与技术方案如下:(1)基础推送功能的设计与实现。针对MQTT协议中消息各个字段的含义及消息推送具体过程进行分析,设计其建立连接、发布、订阅等功能的逻辑流程。(2)...
【文章页数】:88 页
【学位级别】:硕士
【文章目录】:
摘要
ABSTRACT
符号对照表
缩略语对照表
第一章 绪论
1.1 选题背景与意义
1.2 国内外研究现状
1.2.1 物联网应用层连接协议
1.2.2 MQTT服务端开源实现调研
1.3 研究内容与目标
1.4 论文结构与内容安排
第二章 关键技术分析
2.1 MQTT协议特点介绍及其与物联网的适配性分析
2.1.1 MQTT协议报文格式
2.1.2 MQTT协议功能特点和重要概念
2.1.3 MQTT协议针对物联网的应用特点
2.2 平台虚拟化Docker & Kubernetes
2.3 加密协议SSL TLS
2.4 本章小结
第三章 需求分析
3.1 系统需求背景
3.2 功能性需求分析
3.2.1 对外功能性需求
3.2.2 对内功能性需求
3.3 非功能性需求分析
3.3.1 性能需求
3.3.2 约束性需求
3.3.3 扩展需求
3.4 本章小结
第四章 系统设计与实现
4.1 系统总体设计
4.1.1 系统功能模块设计
4.1.2 系统软件结构设计
4.2 主题设计
4.2.1 主题语法设计
4.2.2 主题分配
4.2.3 主题的存储和查询
4.3 基础推送功能模块的设计与实现
4.3.1 建立连接和消息订阅功能的设计与实现
4.3.2 消息发布功能的设计与实现
4.3.3 基础推送功能模块的具体业务流程
4.4 系统集群方案的设计与实现
4.4.1 集群方案的选择
4.4.2 定制单节点mqtt broker镜像文件
4.4.3 集群部署和节点管理的设计与实现
4.4.4 接口统一暴露和负载均衡的设计与实现
4.4.5 集群节点间如何通信
4.5 集群安全方案设计与实现
4.5.1 集群安全方案总体设计
4.5.2 数据加密与身份校验模块的设计与实现
4.5.3 权限控制模块的设计与实现
4.5.4 状态监控功能模块的实现
4.6 本章小结
第五章 系统测试
5.1 测试环境与测试条件
5.2 系统压力测试
5.2.1 无推送的订阅测试
5.2.2 有推送的发布订阅测试
5.2.3 集群扩容效果的补充测试
5.3 系统功能测试
5.3.1 功能测试用例及过程
5.3.2 功能测试结果分析
5.4 本章小结
第六章 总结与展望
6.1 论文工作总结
6.2 后续工作展望
参考文献
致谢
作者简介
本文编号:3788600
【文章页数】:88 页
【学位级别】:硕士
【文章目录】:
摘要
ABSTRACT
符号对照表
缩略语对照表
第一章 绪论
1.1 选题背景与意义
1.2 国内外研究现状
1.2.1 物联网应用层连接协议
1.2.2 MQTT服务端开源实现调研
1.3 研究内容与目标
1.4 论文结构与内容安排
第二章 关键技术分析
2.1 MQTT协议特点介绍及其与物联网的适配性分析
2.1.1 MQTT协议报文格式
2.1.2 MQTT协议功能特点和重要概念
2.1.3 MQTT协议针对物联网的应用特点
2.2 平台虚拟化Docker & Kubernetes
2.3 加密协议SSL TLS
2.4 本章小结
第三章 需求分析
3.1 系统需求背景
3.2 功能性需求分析
3.2.1 对外功能性需求
3.2.2 对内功能性需求
3.3 非功能性需求分析
3.3.1 性能需求
3.3.2 约束性需求
3.3.3 扩展需求
3.4 本章小结
第四章 系统设计与实现
4.1 系统总体设计
4.1.1 系统功能模块设计
4.1.2 系统软件结构设计
4.2 主题设计
4.2.1 主题语法设计
4.2.2 主题分配
4.2.3 主题的存储和查询
4.3 基础推送功能模块的设计与实现
4.3.1 建立连接和消息订阅功能的设计与实现
4.3.2 消息发布功能的设计与实现
4.3.3 基础推送功能模块的具体业务流程
4.4 系统集群方案的设计与实现
4.4.1 集群方案的选择
4.4.2 定制单节点mqtt broker镜像文件
4.4.3 集群部署和节点管理的设计与实现
4.4.4 接口统一暴露和负载均衡的设计与实现
4.4.5 集群节点间如何通信
4.5 集群安全方案设计与实现
4.5.1 集群安全方案总体设计
4.5.2 数据加密与身份校验模块的设计与实现
4.5.3 权限控制模块的设计与实现
4.5.4 状态监控功能模块的实现
4.6 本章小结
第五章 系统测试
5.1 测试环境与测试条件
5.2 系统压力测试
5.2.1 无推送的订阅测试
5.2.2 有推送的发布订阅测试
5.2.3 集群扩容效果的补充测试
5.3 系统功能测试
5.3.1 功能测试用例及过程
5.3.2 功能测试结果分析
5.4 本章小结
第六章 总结与展望
6.1 论文工作总结
6.2 后续工作展望
参考文献
致谢
作者简介
本文编号:3788600
本文链接:https://www.wllwen.com/kejilunwen/ruanjiangongchenglunwen/3788600.html