Bootstrap

rabbitmq启用mqtt

MQTT协议

MQTT(Message Queuing Telemetry Transport)消息队列遥测传输协议:是一种基于发布/订阅模式的轻量级通讯协议,该协议构建于TCP/IP协议上。MQTT最大优点在于,可以以极少的代码和有限的带宽,为连接远程设备提供实时可靠的消息服务。
在这里插入图片描述

相关组件

Publisher(发布者):消息的发出者,负责发送消息。
Subscriber(订阅者):消息的订阅者,负责接收并处理消息。
Broker(代理):消息代理,位于消息发布者和订阅者之间,各类支持MQTT协议的消息中间件都可以充当。
Topic(主题):消息队列中的路由,订阅者订阅了主题之后,就可以收到发送到该主题的消息。
Payload(负载):可以理解为发送消息的内容。
QoS(消息质量):Quality of Service,即消息的发送质量,主要有QoS 0、QoS 1、QoS 2三个等级。

  • QoS 0(Almost Once):至多一次,只发送一次,会发生消息丢失或重复;
  • QoS 1(Atleast Once):至少一次,确保消息到达,但消息重复可能会发生;
  • QoS 2(Exactly Once):只有一次,确保消息只到达一次。

rabbitmq启用mqtt

RabbitMQ中含有MQTT插件,默认是不启用的,启动一下即可。

rabbitmq-plugins enable rabbitmq_mqtt  #启用mqtt命令

启动后就可以在web页面看到
在这里插入图片描述
注意:mqtt使用端口为1883,此为TCP/IP端口

MQTT(WebSocket方式)

RabbitMQ与Web端交互底层使用的是WebSocket,所以我们需要开启RabbitMQ的MQTT WEB支持。

rabbitmq-plugins enable rabbitmq_web_mqtt  #开启mqtt通过WebSocket进行访问

在这里插入图片描述

MQTT-websocket使用

WEB端与MQTT服务进行通讯需要使用一个叫MQTT.js的库,项目地址:https://github.com/mqttjs/MQTT.js
需要注意的是配置好MQTT服务的访问地址为:ws://localhost:15675/ws

;