服务端可以直接订阅产品下多种类型的消息:设备上报消息、设备状态变化通知、设备生命周期变更、网关发现子设备上报、设备拓扑关系变更等。配置服务端订阅后,物联网平台会将产品下所有设备的已订阅类型的消息转发至您的服务器。
适用场景
服务端订阅适用于单纯的接收设备数据的场景,并且适用于高并发场景。
服务端接收产品下全部设备的订阅数据。
如果您有多个服务器消费同一个产品的订阅消息,消息会随机转发至某个服务器。
服务端订阅与规则引擎数据流转的使用场景和能力对比,请参见数据流转方案对比。
使用AMQP服务端订阅消息
AMQP(Advanced Message Queuing Protocol)即高级消息队列协议。您配置AMQP服务端订阅后,物联网平台会将产品下所有已订阅类型的消息,通过AMQP通道推送至您的服务器。
AMQP服务端订阅消息流转流程如下图所示。
AMQP服务端订阅优势:
- 支持多消费组。同一个账号,可以在开发环境下使消费组A订阅产品A,同时在正式环境下使消费组B订阅产品B。
- 方便排查问题。支持查看客户端状态、查看堆积和消费速率。
- 线性扩展。在消费者能力足够,即客户端机器足够的情况下,可轻松线性扩展推送能力。
- 实时消息优先推送,消息堆积不会影响服务。设备实时消息直接推送,推送限流或失败时进入堆积队列,堆积态消息采用降级模式,不会影响实时推送能力。
即使消费者的客户端宕机,或因消费能力不足堆积了消息,消费端恢复后,设备生成的消息也可以和堆积消息并行发送,使设备优先恢复可用态。使用MNS服务端订阅消息
物联网平台将订阅的消息推送到消息服务(MNS)的队列中,服务器MNS客户端通过监听MNS队列接收设备消息。
MNS服务端订阅消息流转流程如下图所示。