五条关于有效部署和维护MQTT解决方案的最佳实践

news2025/4/8 22:32:18

节选自论文《Message Queuing Telemetry Transport (MQTT) 在森林产品应用中的分析与概述》(Analysis and Overview of Message Queuing Telemetry Transport (MQTT) as Applied to Forest
Products Applications),发表于《IEEE TRANSACTIONS ON INDUSTRY APPLICATIONS》2022年11月/12月第58卷第6期。

最佳实践1:通配符(Wildcards)

  • MQTT允许使用通配符字符来简化搜索和查询内容,但需要谨慎使用以维护数据访问的完整性。
  • 建议仅在管理应用程序中使用多级通配符(例如“#”),而客户端订阅应仅使用单级通配符(例如“+”)。

最佳实践2:上下文标识符(Context Identifiers)

  • MQTT主题没有关于数据内容的上下文信息。为了解决这个问题,建议在消息负载中包含一个上下文标识符。
  • 这允许数据的下游消费者知道如何解释、建模或向其他客户端或用户展示数据。

最佳实践3:客户端标识符(Client Identifiers)

  • 为了避免数据混淆,建议在主题路径中包含一个唯一的设备名称,并在连接到MQTT时使用该名称作为客户端ID。
  • 此外,建议在独立的主题中发布客户端ID,以便用户或客户端可以在一个地方快速查看和评估所有客户端连接的健康状况。

最佳实践4:文档化(Documentation)

  • 与任何系统一样,文档是维护系统寿命和可维护性的关键。
  • MQTT系统的拥有者应该记录预期的主题,并包括系统中的所有发布者和订阅者。
  • 建议使用图形表示法来展示概念,并记录所有主题和前缀,以及数据如何在发布者和订阅者之间流动。
  • 还建议记录主题前缀,区分只读和读写数据,以明确哪些数据是只读的,哪些数据可以被命令执行。

最佳实践5:MQTT不能解决所有问题(MQTT Cannot Solve All Problems)

  • 虽然MQTT在过程应用中提供了许多显著的优势,但由于其抽象能力,MQTT并不能完全满足所有人的需求。
  • 在决定MQTT是否适合解决应用问题之前,应进行最佳工程判断和研究,以了解系统和数据速率的要求。
  • 例如,尽管MQTT可以实现QoS以优先处理数据包的优先级和传输工作,但它不应被视为替代系统内持久消息队列应用程序(如RabbitMQ或Kafka)的解决方案。

这些最佳实践是作者和其他行业专家根据他们的经验和部署MQTT系统所总结出来的。它们应被视为指导性建议,而不是一成不变的规则,因为每个工程应用和部署都有其独特性,需要根据应用的特点来做出最好的工程实践和设计决策。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1987830.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

使用Cisco进行模拟配置OSPF路由协议

OSPF路由协议 1.实验目的 1)理解OSPF 2)掌握OSPF的配置方法 3)掌握查看OSPF的相关信息 2.实验流程 开始 → 布置拓扑 → 配置IP地址 → 配置OSPF路由并验证PC路由的连通性 → 查看路由器路由信息 → 查看路由协议配置与统计信息 → 查看O…

锡耶纳大学与 NocoBase:教育管理系统的全新篇章

关于锡耶纳大学 锡耶纳大学(意大利语:Universit degli Studi di Siena,简称UNISI)建于 1240 年,是欧洲最古老的大学之一。如今,锡耶纳大学以其法学院和医学院闻名。这所著名的大学坐落在意大利托斯卡纳的中…

Redis和数据库一致性如何保证

三种经典的缓存模式 Cache-Aside Pattern(旁路缓存模式)Read-Through/Write-through(读写穿透:和1类似)Write-behind (异步批量从缓存写数据库) 旁路缓存模式 读流程 读的时候,先…

HTML5+CSS3笔记(Xmind格式):第四天

Xmind鸟瞰图: 简单文字总结: HTML5CSS3知识总结: 媒体查询: 1.媒体查询格式:media 设备类型 and 设备特性 2.screen:设置屏幕 3.max-width(最大宽度),min-width(最小宽度) 4.可以通过媒体…

阿里国际推出首个专业版AI Search,为什么它会是下一个B2B谷歌?

点击访问我的技术博客https://ai.weoknow.comhttps://ai.weoknow.com 经历过「千模大战」的喧嚣,一年半之后,生成式 AI 的应用层创新终于步入爆发期。 年初的 Sora 激起一阵 AI 视频生成的浪潮。涟漪未散,OpenAI 新的 SearchGPT 又燃起了 A…

CSP-J 复赛模拟题4 解析

需要注意的是&#xff0c;每次操作询问之后都不会对原序列进行修改&#xff0c;即每次操作都是在原序列上直接进行的。 就是说把到l到r之间的所有数用cnt每次加p就行了 根据解析写代码1&#xff1a; #include <bits/stdc.h> #define LL long long using namespace std;…

极狐GitLab安全版本:16.10.1、16.9.3、16.8.5

极狐GitLab 是 GitLab 在中国的发行版&#xff0c;专门面向中国程序员和企业提供企业级一体化 DevOps 平台&#xff0c;用来帮助用户实现需求管理、源代码托管、CI/CD、安全合规&#xff0c;而且所有的操作都是在一个平台上进行&#xff0c;省事省心省钱。可以一键安装极狐GitL…

在Linux中,什么叫做线程

在Linux中&#xff0c;什么叫做线程&#xff1f; CPU调度的基本单位。 在Linux中&#xff0c;什么叫做进程&#xff1f; 内核视角&#xff1a; 承担分配系统资源的基本实体。 一个进程内部可以有多个执行流。 task_struct可以理解为轻量级进程。 线程是进程内部的一个分支…

Java15.0标准之重要特性及用法实例(二十五)

简介&#xff1a; CSDN博客专家&#xff0c;专注Android/Linux系统&#xff0c;分享多mic语音方案、音视频、编解码等技术&#xff0c;与大家一起成长&#xff01; 新书发布&#xff1a;《Android系统多媒体进阶实战》&#x1f680; 优质专栏&#xff1a; Audio工程师进阶系列…

WEB中间件TomCat详解

Java虚拟机详解 一、JVM 虚拟机常识 1、什么是JAVA虚拟机 所谓虚拟机&#xff0c;就是一台虚拟的计算机。在计算机系统上模拟运行一个完整的计算机系统的技术&#xff0c;他是一款软件&#xff0c;用来执行一系列虚拟计算机指令。大体上&#xff0c;虚拟机可以分为系统虚拟机…

鸿蒙第三方应用.hap打包、安装流程。

最近在华为手表上安装第三方应用&#xff08;源码打包构建应用&#xff0c;需要签名&#xff09;。网上看了教程&#xff0c;在此记录下。 准备工作&#xff1a;先安装DevEco Studio开发工具。 进入华为 appgallery connect网站&#xff08;注册、开发者实名认证&#xff09; …

八股文”在实际工作中的作用:敲门砖还是空谈?

文章目录 每日一句正能量前言“八股文”对招聘过程的影响“八股文”作为基础知识的筛选器面试中的“八股文”比重平衡“八股文”与实际编程能力“八股文”导致的面试准备策略变化“八股文”与实际工作技能的关联性对“八股文”依赖的反思创新面试方法的探索“八股文”在不同公司…

【递归和搜索】前言

递归&#xff1a;函数自己调用自己 为什么要用到递归&#xff1a; 递归的本质&#xff1a;处理最开始问题的逻辑和处理后面的问题的逻辑是相同的 主问题 --> 相同的子问题 子问题 --> 相同的子问题 如何理解递归&#xff1f; 1.递归展开的细节图 2.二叉树中的题目 3…

智能运动手表的功能

智能运动手表的功能 智能运动手表的功能&#xff0c;各家基本都大差不差。常用的基本可以分为以下几个大模块&#xff1a; 1.运动 运动类型&#xff1a;专业跑步课程&#xff0c;室内跑步&#xff0c;跳绳&#xff0c;骑行&#xff0c;徒步&#xff0c;游泳&#xff0c;潜水…

API开放平台项目全过程总结

项目整体流程介绍&#xff1a; 该项目是一个api的调用平台&#xff0c;类似于百度开发者中心&#xff0c;使用者可以访问然后调用自己需要的接口来实现自己的功能 该项目的简单模拟了这个流程 该系统有三个子后端系统&#xff0c;分别是传统的用户管理系统&#xff0c;API网…

在S/4HANA OP 1511中激活嵌入式分析的基本配置

大家好&#xff0c;在这篇博客中&#xff0c;我将讨论在 S/4HANA On-Premise 1511 版本中激活嵌入式分析的基本配置。本博客主要关注Fiori前端系统和S/4HANA后端系统的分离安装。让我们深入了解一下。 景观 前端系统 SAP Fiori for S/4HANA OP 1511 Bakend系统SAP S/4HANA后…

在Stable Diffusion中驱动Tesla P40

一、安装P40显卡 在前面我的“在win10电脑上搭建python环境下的本地AI绘画工具Stable Diffusion”博文中&#xff0c;Stable Diffusion的运行完全依赖CPU和内存&#xff0c;因此每生成一次图片&#xff0c;需几小时之多&#xff0c;我常是在临下班时开始生成&#xff0c;到第二…

CSS基础 - 基础

目录 一. 简介 二. 基本用法 三. 总结 一. 简介 CSS&#xff08;Cascading Style Sheets&#xff0c;层叠样式表&#xff09;是一种用于描述网页外观和布局的样式表语言。 一、基本作用 外观设计 CSS 可以控制网页中元素的颜色、字体、大小、粗细、样式&#xff08;如斜体…

电子电气架构 --- 车辆模式管理

我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 屏蔽力是信息过载时代一个人的特殊竞争力,任何消耗你的人和事,多看一眼都是你的不对。非必要不费力证明自己,无利益不试图说服别人,是精神上的节…