MQTT协议

简介: MQTT的特点是可以保持长连接,具有一定的实时性要保持长连接,那么就要不时地发送心跳包,这就不会省电

MQTT(Message Queuing Telemetry Transport,消息队列遥测传输)


一种针对移动终端设备的基于TCP/IP的发布/订阅协议

可以连接大量的远程传感器和控制设备

MQTT的特点是可以保持长连接,具有一定的实时性要保持长连接,那么就要不时地发送心跳包,这就不会省电


特点:

使用发布/订阅消息模式,提供一对多的消息发布,解除应用程序耦合

有三种消息发布服务质量(QoS):

“至多一次”,消息发布完全依赖底层 TCP/IP 网络,会发生消息丢失或重复,这一级别可用于对采集数据要求不严格的情况

“至少一次”,确保消息到达,但消息可能会重复发生

“只有一次”,确保消息只到达一次,这一级别可用于要求严格如涉及计费系统的情况,消息重复或丢失都是不允许的


MQTT主题模式:

MQTT是通过主题对消息进行分类的

主题本质上就是一个UTF-8的字符串

主题可以通过反斜杠表示多个层级关系

主题并不需要创建,直接使用就是了

主题还可以通过通配符进行过滤

+可以过滤一个层级


只能出现在主题最后表示过滤任意级别的层级举个例子:

building-b/floor-5:代表B楼5层的设备

+/floor-5:代表任何一个楼的5层的设备

building-b/*:代表B楼所有的设备


MQTT中有3个角色:

发布者Publisher

订阅者Subscriber

代理Broker


MQTT这种结构替代了传统的客户端/服务器模型,可以实现以下解耦:

空间解耦,发布者和订阅者不需要知道对方

时间解耦,发布者和订阅者不需要同时运行(离线消息)

同步解耦,发布和接收都是异步通讯,无需停止任何处理


服务端:

一个程序或设备,作为发送消息的客户端和请求订阅的客户端之间的中介

接受来自客户端的网络连接

接受客户端发布的应用消息

处理客户端的订阅和取消订阅请求

转发应用消息给符合条件的已订阅客户端

相关实践学习
RocketMQ一站式入门使用
从源码编译、部署broker、部署namesrv,使用java客户端首发消息等一站式入门RocketMQ。
消息队列 MNS 入门课程
1、消息队列MNS简介 本节课介绍消息队列的MNS的基础概念 2、消息队列MNS特性 本节课介绍消息队列的MNS的主要特性 3、MNS的最佳实践及场景应用 本节课介绍消息队列的MNS的最佳实践及场景应用案例 4、手把手系列:消息队列MNS实操讲 本节课介绍消息队列的MNS的实际操作演示 5、动手实验:基于MNS,0基础轻松构建 Web Client 本节课带您一起基于MNS,0基础轻松构建 Web Client
相关文章
|
1月前
|
消息中间件 物联网 网络性能优化
MQTT常见问题之MQTT不支持5.0的协议如何解决
MQTT(Message Queuing Telemetry Transport)是一个轻量级的、基于发布/订阅模式的消息协议,广泛用于物联网(IoT)中设备间的通信。以下是MQTT使用过程中可能遇到的一些常见问题及其答案的汇总:
|
1月前
|
传感器 网络协议 物联网
在Linux中搭建Mosquitto MQTT协议消息服务端并结合内网穿透工具实现公网访问
Mosquitto是一个开源的消息代理,它实现了MQTT协议版本3.1和3.1.1。它可以在不同的平台上运行,包括Windows、Linux、macOS等。mosquitto可以用于物联网、传感器、移动应用程序等场景,提供了一种轻量级的、可靠的、基于发布/订阅模式的消息传递机制。
|
1月前
|
网络协议 物联网 网络性能优化
物联网网络协议-MQTT协议的使用
物联网网络协议-MQTT协议的使用
189 2
|
1月前
|
物联网 Go 网络性能优化
使用Go语言(Golang)可以实现MQTT协议的点对点(P2P)消息发送。MQTT协议本身支持多种消息收发模式
使用Go语言(Golang)可以实现MQTT协议的点对点(P2P)消息发送。MQTT协议本身支持多种消息收发模式【1月更文挑战第21天】【1月更文挑战第104篇】
217 1
|
1月前
|
传感器 网络协议 Ubuntu
MQTT协议与EMQ
MQTT协议与EMQ
|
17天前
|
消息中间件 存储 RocketMQ
消息队列 MQ产品使用合集之Remoting协议是否可以直接和proxy交互的吗
阿里云消息队列MQ(Message Queue)是一种高可用、高性能的消息中间件服务,它允许您在分布式应用的不同组件之间异步传递消息,从而实现系统解耦、流量削峰填谷以及提高系统的可扩展性和灵活性。以下是使用阿里云消息队列MQ产品的关键点和最佳实践合集。
|
18天前
|
消息中间件 Serverless Windows
消息队列 MQ产品使用合集之MQTT协议是否可以应用于社交软件的系统通知场景
阿里云消息队列MQ(Message Queue)是一种高可用、高性能的消息中间件服务,它允许您在分布式应用的不同组件之间异步传递消息,从而实现系统解耦、流量削峰填谷以及提高系统的可扩展性和灵活性。以下是使用阿里云消息队列MQ产品的关键点和最佳实践合集。
|
25天前
|
传感器 物联网
物联网协议概述:MQTT、CoAP 和 HTTP
【6月更文挑战第3天】探索物联网的三大协议——MQTT、CoAP 和 HTTP。MQTT 是高效的消息传递使者,适用于大规模、不稳定网络环境;CoAP 小巧灵活,适合资源有限的设备;HTTP 则是熟悉的网络通信老将。根据不同场景选择合适的协议,让物联网设备有效交流。示例代码展示它们的使用方式。
43 0
|
1月前
|
消息中间件 小程序 网络性能优化
蓝易云 - 直播小程序源码有用的协议知识:MQTT协
在直播小程序源码中,MQTT协议可以用于实现实时消息推送,如弹幕、聊天消息、礼物信息等。通过使用MQTT协议,可以确保消息的实时性和可靠性,从而提高用户体验。
59 0
|
1月前
|
监控 网络性能优化 网络安全
【MODBUS】Modbus主站为边缘设备通过MQTT协议上云
【MODBUS】Modbus主站为边缘设备通过MQTT协议上云
53 1

热门文章

最新文章