RabbitMQ配置Mqtt协议
? ? ? ? MQTT插件支持MQTT 3.1.1 ,同時(shí)也可以i讓MQTT客戶端與其他協(xié)議(AMQP 0-9-1、AMQP 1.0和 STOMP)客戶端交互 。支持多租戶。
?
? ?(1) 啟用插件
? ?安裝完RabbitMQ后,默認(rèn)并沒有啟動(dòng)MQTT插件。使用下面命令啟用插件
rabbitmq-plugins enable rabbitmq_mqtt rabbitmq-plugins list(2) 配置權(quán)限? ??
MQTT插件默認(rèn)允許匿名訪問,但不建議。
添加用戶。?添加一個(gè)用戶名和密碼都是 "mqtt-test"的用戶
設(shè)置用戶?mqtt-test對虛擬主機(jī)(/)具有配置,寫,讀的權(quán)限。用戶標(biāo)記為管理者
rabbitmqctl set_permissions -p / mqtt-test ".*" ".*" ".*" rabbitmqctl set_user_tags mqtt-test management(3)添加隊(duì)列,綁定Exchange和Queus??
? ?插件基于exchanges 和 queues實(shí)現(xiàn)。也就是 MQTT消息是通過Exchange路由到相應(yīng)的Queue中。
? 當(dāng)Mqtt消息發(fā)布到MQTT topics時(shí),會(huì)使用topic 類型的exchange (默認(rèn)為amq.topic) 。訂閱者通過隊(duì)列(queues)獲取Mqtt消息。?
? 默認(rèn)情況下,如果Queue不存在,會(huì)自動(dòng)創(chuàng)建一個(gè)Auto-Delete類型的隊(duì)列。
?
?
注意:
(1)MQTT主題使用("/") 分隔;而AMQP 0-9-1使用點(diǎn)(".") 分隔。插件可以在不同協(xié)議之間轉(zhuǎn)換,例如將“cities/london”轉(zhuǎn)換成“cities.london”
(2)目前不支持QoS2
總結(jié)
以上是生活随笔為你收集整理的RabbitMQ配置Mqtt协议的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Matlab处理JSON数据
- 下一篇: 利用puppeteer自动录入成绩