RabbitMQ配置Mqtt协议

        MQTT插件支持MQTT 3.1.1 ,同时也可以i让MQTT客户端与其他协议(AMQP 0-9-1、AMQP 1.0和 STOMP)客户端交互 。支持多租户。

   (1) 启用插件

   安装完RabbitMQ后,默认并没有启动MQTT插件。使用下面命令启用插件

rabbitmq-plugins enable rabbitmq_mqtt
rabbitmq-plugins list

(2) 配置权限    

MQTT插件默认允许匿名访问,但不建议。
添加用户。 添加一个用户名和密码都是 "mqtt-test"的用户

rabbitmqctl add_user mqtt-test mqtt-test

设置用户 mqtt-test对虚拟主机(/)具有配置,写,读的权限。用户标记为管理者

rabbitmqctl set_permissions -p / mqtt-test ".*" ".*" ".*"
rabbitmqctl set_user_tags mqtt-test management

(3)添加队列,绑定Exchange和Queus  

   插件基于exchanges 和 queues实现。也就是 MQTT消息是通过Exchange路由到相应的Queue中。

  当Mqtt消息发布到MQTT topics时,会使用topic 类型的exchange (默认为amq.topic) 。订阅者通过队列(queues)获取Mqtt消息。 

  默认情况下,如果Queue不存在,会自动创建一个Auto-Delete类型的队列。

注意:

(1)MQTT主题使用("/") 分隔;而AMQP 0-9-1使用点(".") 分隔。插件可以在不同协议之间转换,例如将“cities/london”转换成“cities.london”

(2)目前不支持QoS2

发布了22 篇原创文章 · 获赞 4 · 访问量 4842

猜你喜欢

转载自blog.csdn.net/guo1wu3shi4/article/details/94861839