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