什么是服务端订阅

​ 应用服务器可以通过消息推送应用来直接订阅产品下多种类型的消息:设备上行数据、设备上线/离线通知、设备心跳消息、设备OTA升级结果等。配置服务端订阅后,物联网平台会将产品下所有设备的已订阅类型的消息转发至您的服务器。

适用场景

  • 服务端订阅适用于单纯的接收设备数据的场景,并且适用于高并发场景。

  • 服务端接收产品下全部设备的订阅数据。

  • 如果采用HTTP方式订阅消息,无法使用多台服务器订阅同一种产品的消息。

  • 如果采用MQTT方式订阅消息,可使用多台服务器订阅同一种产品的消息,但一条消息只会被其中一台服务器接收一次。

  • 如果采用RabbitMQ方式订阅消息,可使用多台服务器订阅同一种产品的消息,您可以通过定制自己的消息路由,来实现一条消息被指定数量的服务器接收。

使用HTTP方式订阅消息

您配置好HTTP订阅推送应用后,物联网平台会将产品下所有已订阅类型的消息,通过您指定的Url发送至您的服务器

HTTP订阅消息推送流程如下图所示。

Http推送流程

HTTP订阅消息的优势:

  • 实时性。消息到来时不会堆积,会立即直接发送至指定的Url
  • 轻量简单。无需另外搭建消息中间件

​ 实时推送,也意味着您的服务器需要实时接收消息,如果承受不了大批量消息带来的压力而导致接收超时,消息可能因此丢失。

使用MQTT方式订阅消息

您配置好MQTT订阅推送应用后,物联网平台会将产品下所有已订阅类型的消息,发送至您指定的MQTT服务器中,您的应用服务器再通过指定的topic去订阅MQTT服务器的消息。

MQTT订阅消息推送流程如下图所示。

MQTT推送流程

MQTT订阅消息的优势:

  • 弹性负载,通过消息队列堆积的方式
  • 可使用多个服务器同时订阅,分担负载

使用RabbitMQ方式订阅消息

RabbitMQ,属于AMQP服务器,AMQP(Advanced Message Queuing Protocol)即高级消息队列协议。您配置RabbitMQ订阅推送应用后,物联网平台会将产品下所有已订阅类型的消息,通过AMQP通道推送至您的RabbitMQ服务器中。您的应用服务器可通过您自定义的消息路由接收到指定的Exchange下的消息。

RabbitMQ订阅消息推送流程如下图所示。

RabbitMQ推送流程

RabbitMQ服务端订阅优势:

  • 弹性负载,通过消息队列堆积的方式
  • 可使用多个服务器同时订阅,分担负载
  • 消息可靠性高
  • 可自定义消息路由规则

results matching ""

    No results matching ""