MQTT代理环境搭建

随笔2个月前发布 龙门村夫
5 0 0

一、MQTT 常见服务器
MQTT(Message Queuing Telemetry Transport)是一种轻量级的消息协议,专为低带宽、高延迟或不可靠的网络环境设计。它广泛应用于物联网(IoT)领域,用于设备间的消息传输。以下是一些常见的MQTT服务器:

Mosquitto:
Mosquitto是最早的开源MQTT代理之一,由Eclipse基金会维护。它支持MQTT v3.1和v3.1.1协议,适用于各种平台,包括Linux、Windows和macOS。Mosquitto以其稳定性和广泛的社区支持而闻名。

EMQ X(现在称为EMQX):
EMQ X是一个高性能、开源的MQTT代理,专为云原生和物联网环境设计。它提供了高并发连接支持、集群部署、多租户、安全性和桥接功能。EMQ X还提供了丰富的监控和管理工具,以及对MQTT v5.0的支持。

HiveMQ:
HiveMQ是一个商业化的MQTT代理,提供开源和企业版。它以其高性能、可靠性和易用性而受到好评。HiveMQ支持MQTT v3.1和v3.1.1,提供了强大的集群功能、安全性选项和详细的监控。

RabbitMQ:
RabbitMQ是一个广泛使用的开源消息代理,支持多种消息协议,包括MQTT。虽然它最初是为AMQP设计的,但它通过插件系统支持MQTT协议。RabbitMQ提供了强大的路由、队列和消息持久化功能。

ActiveMQ:
ActiveMQ是Apache基金会的一个项目,它是一个多协议消息代理,支持多种消息协议,包括MQTT。ActiveMQ提供了丰富的特性,如消息持久化、集群支持和多种语言的客户端库。

VerneMQ:
VerneMQ是一个基于Erlang的开源MQTT代理,它提供了高性能、可靠性和可扩展性。VerneMQ支持MQTT v3.1和v3.1.1,以及MQTT v5.0的早期访问版本。

AWS IoT:
Amazon Web Services(AWS)提供了一个完全托管的MQTT服务,称为AWS IoT。它允许设备安全地连接到AWS云服务,并与其他AWS服务集成,如AWS Lambda和Amazon S3。

Azure IoT Hub:
Microsoft Azure提供了一个名为Azure IoT Hub的服务,它支持MQTT协议,并提供了设备管理、消息路由和安全性功能。

Google Cloud IoT Core:
Google Cloud IoT Core是一个完全托管的服务,允许设备通过MQTT等协议连接到Google Cloud平台。

Moquette:
Moquette是一个轻量级的MQTT代理,用Java编写,适用于嵌入式系统和小型项目。

这些MQTT服务器各有特点,适用于不同的应用场景和需求。在选择MQTT服务器时,应考虑性能、可靠性、安全性、可扩展性以及是否需要支持特定的MQTT版本等因素。

1.2 MQTT Broker 比较与选型——开源与商业服务器/服务对比
MQTT Broker 比较与选型——开源与商业服务器/服务对比
二、Linux ubuntu MQTT 服务器
EMQX CLOUD
https://www.emqx.com/zh
https://www.emqx.io/docs/zh/latest/deploy/install-docker.html
注意:

端口:占用哪些端口、分别做什么?
配置:
后台管理:默认用户名、密码
迁移:
认证:匿名登录、用户名/密码认证、TLS单向认证、TLS双向认证、xxx认证

默认用户名及密码: admin / public

docker pull emqx/emqx:5.6.0
docker run -d –name emqx -p 1883:1883 -p 8083:8083 -p 8084:8084 -p 8883:8883 -p 18083:18083 emqx/emqx:5.6.0

# 配置、重启自启动
mkdir $PWD/data $PWD/log
chmod 777 $PWD/data $PWD/log
docker run -d –name emqx -p 1883:1883 -p 8083:8083 -p 8084:8084 -p 8883:8883 -p 18083:18083 -v $PWD/data:/opt/emqx/data -v $PWD/log:/opt/emqx/log emqx:5.5.1

https://www.emqx.io/docs/zh/latest/network/tls-certificate.html

MQTT入门篇
https://zhuanlan.zhihu.com/p/20888181

物联网(Internet of Things,IoT)最近曝光率越来越高。虽然HTTP是网页的事实标准,不过机器之间(Machine-to-Machine,M2M)的大规模沟通需要不同的模式:之前的请求/回答(Request/Response)模式不再合适,取而代之的是发布/订阅(Publish/Subscribe)模式。这就是轻量级、可扩展的MQTT(Message Queuing Telemetry Transport)可以施展拳脚的舞台。

# MQTT简介
MQTT是基于二进制消息的发布/订阅编程模式的消息协议,最早由IBM提出的,如今已经成为OASIS规范。由于规范很简单,非常适合需要低功耗和网络带宽有限的IoT场景,比如:

MQTT协议-MQTT协议简介及协议原理
https://blog.csdn.net/JIESA/article/details/50635222

没想到学了 MQTT 后,竟然有那么多疑问
https://www.sohu.com/a/279848242_633698

物联网曾被认为是继计算机、互联网之后,信息技术行业的第三次浪潮。随着基础通讯设施的不断完善,尤其是 5G 的出现,进一步降低了万物互联的门槛和成本。

物联网协议比较:MQTT 和 MQTT-SN
https://blog.csdn.net/ninioq/article/details/94622951

MQTT调试工具
实例:使用MQTT进行交互
https://www.jianshu.com/p/b452e2cee0d6
————————————————

原文链接:https://blog.csdn.net/mayue_web/article/details/118576945

© 版权声明

相关文章

暂无评论

您必须登录才能参与评论!
立即登录
暂无评论...