基于MQTT的消息推送集群系统的设计与实现

来源 :西安电子科技大学 | 被引量 : 0次 | 上传用户:csdn99
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
随着万物互联的发展和兴起,物联网设备之间的消息传递因其网络环境的不同而成为了一种新的需求。Message Queuing Telemetry Transport(MQTT,消息队列遥测传输)是这类场景最常见的协议之一。MQTT协议数据包小,带宽利用率高,并且采用具有更强去耦能力的发布/订阅模式,更为贴合物联网的应用场景。基于此,本文针对物联网的特定应用场景,研究设计并实现一种基于MQTT的消息推送集群系统。该系统作为公司绿洲物联网平台项目的一部分,目的是服务于物联网线上平台,解决实际应用中发现的问题,优化消息推送系统在具体应用场景的易用性。具体来说,系统负责与外部终端设备建立稳定MQTT连接,处理基于主题的发布订阅请求;与内部应用微服务连接,提供一种基于发布订阅模式的消息传输模式供平台微服务调用。在满足上述功能的基础上,设计集群方案来满足系统对高可用性、可扩展性的要求,以及设计安全方案来保障系统安全和用户数据安全。具体工作内容与技术方案如下:(1)基础推送功能的设计与实现。针对MQTT协议中消息各个字段的含义及消息推送具体过程进行分析,设计其建立连接、发布、订阅等功能的逻辑流程。(2)MQTT Broker的多节点集群方案研究。在对开源项目Mosquitto进行研究的基础上,选择将系统设计为去中心化分布式集群架构,并利用Kubernetes和Docker虚拟化技术对其进行封装和部署,解决系统在集群部署、集群扩容、节点管理方面的问题,以提高对每个节点计算能力的利用率,满足系统在性能上的要求。(3)集群系统的接入安全方案研究。从数据加密、身份认证、权限控制三个方面对接入安全进行保证。首先在MQTT连接建立前先通过SSL/TLS对传输进行加密;其次在连接建立时将客户端通过认证链对身份合法性进行校验;在建立连接后对其发布/订阅的动作根据主题进行ACL权限控制。最后统计集群所有节点的状态、连接数、会话信息等,提供给前端监控服务使用。(4)对整个系统分别进行功能测试和性能测试,以验证研究成果与技术方案实施效果。通过功能测试,对系统主要功能模块的逻辑流程进行检测;通过性能测试,对系统在高并发环境下的表现进行检测。系统在实际应用环境上成功部署,经过一段时间的试运行与应用后,通过运行效果和性能测试表明,消息推送集群系统在性能要求和业务功能要求上达到了预期的效果。但是由于系统服务的线上平台用户种类众多,应用场景复杂多变,系统还需要通过实际业务应用来发现和明确问题,从而在功能上进行完善和补充。
其他文献
一、引言作为战略性新兴产业的互联网和相关服务业,国家政策对其大力扶持。在我国"互联网+"时代背景下,互联网和相关服务业快速崛起,成为引领科技创新、驱动社会转型发展的核
<正>赫赫京都千百年,钟灵毓秀萃龙渊。北京是中国的首都,是科技精英的聚集地,这里风景秀丽,这里人才辈出。2016年3月30~31日,24位畜牧专家汇聚京师,分享了他们对畜牧行业的展
目的:分析对进行化疗的白血病患者实施优质护理对降低其口腔溃疡发生率的效果。方法:将近年来皖南医学院弋矶山医院收治的92例白血病患者随机分为对照组和观察组。对两组患者均
中国人的经济心理有其特殊的社会背景,主要的如农业经济、差序格局、人口过剩以及富贵结果的直接追求。在此基础上便有对未来不确定性采取一种实用理性的态度,没有韦伯所说的姑
阐述了植物、溶解氧、pH值、碳源、温度、湿地基质、重金属等对人工湿地生态系统氮转化的影响。针对溶解氧、碱度和碳源这3个影响人工湿地氮转移要素提出了研究建议。
为探讨大白菜基因组序列中SSR位点的分布规律并开发SSR引物,利用SSRHunter软件对大白菜A10(16899818~17299817)的DNA序列进行简单序列重复(SSR)位点查找,共得到394个SSRs,平均每1.02kb
知识产权权利冲突的存在给权利的正常行使带来了障碍,同时也使司法和行政执法工作产生了困难和混乱。冲突的解决必然是利益的平衡过程,而基本原则的正确确立是实现平衡的首要前
介绍了三氟乙胺盐酸盐的概况,对其在医药合成中的应用进行了详细综述。
煤炭与人们生活息息相关,不仅给人们生活带来便利,同时也大大促进了我国经济社会发展。煤炭企业矿业权会计处理方面存在诸多问题,包括收入与支出的核算是否属实、在采矿后累
针对双馈风力发电系统,设计了一种模型预测控制(MPC)算法。在坐标系下,建立了双馈风力发电机(DFIG)转子电流状态方程与网侧变流器(GSC)滤波电感电流状态方程。通过设置误差补