使用RabbitMQ订阅推送
前提
您需要在自己的服务器搭建一套可用的RabbitMQ服务。
添加推送应用
登录物联网平台,通过顶部导航栏进入云平台,在左侧导航栏选择应用管理 > 消息推送,在消息推送页面单击添加推送,即可进入添加推送页面。
选择推送类型为RabbitMQ,填充信息,点击确定,即可添加推送应用
注意: 添加RabbitMQ类型的推送应用时会使用您提供的用户名密码等信息登录您的RabbitMQ服务,以校验您提供的RabbitMQ服务器信息是否准确无误。
填充字段的说明如下表:
字段 | 说明 |
---|---|
推送类型 | 推送类型,目前可选HTTP、MQTT、RabbitMQ三种类型 |
订阅产品 | 选择需要订阅的产品。同一个产品只能被订阅一次,一个推送应用可订阅多个产品 |
订阅应用名称 | 推送应用的名称 |
数据格式 | 推送消息的数据格式,目前仅提供JSON格式 |
服务器地址 | 您的RabbitMQ服务的IP |
端口 | 您的RabbitMQ服务的端口 |
用户名 | 您提供给我们的仅用于推送消息的RabbitMQ用户名 |
密码 | 您提供给我们的仅用于推送消息的RabbitMQ密码 |
vhost | 您提供给我们的仅用于推送消息的RabbitMQ的虚拟主机 |
交换机前缀 | 消息推送至的交换机的前缀,如push,则会根据消息类型创建以push为前缀的多个交换机,如push-uplink、push-heartbeat等 |
是否启用 | 添加后是否启用,添加后可在推送应用详情页进行更改 |
定制消息路由
RabbitMQ类型的推送应用使用的是fanout类型交换机,您可以使用多个队列绑定同一个交换机实现消息的广播,也可通过多个客户端订阅同一个队列实现消息的负载均衡
一个简单的例子,设备心跳数据:
通过三个队列绑定接收心跳的交换机实现一条心跳消息广播到三个队列,意味着一条消息可被重复处理三次。而通过两个RabbitMQ客户端订阅同一个队列(自定义队列1),可将4条消息分散到两个应用服务中,实现消息的负载均衡