在许多场景中,您需要将设备上报给物联网平台的数据进行加工处理或用于业务应用。使用物联网平台提供的服务端订阅和云产品流转服务,均可实现设备数据流转。本文对比物联网平台支持的各流转方案及应用场景,帮助您选择合适的流转方案。

数据流转方式说明

流转方式说明相关文档
云产品流转提供初级的数据过滤转换能力。支持对设备数据进行过滤并转换,然后流转到其他阿里云云产品实例。设置数据流转规则
服务端订阅通过AMQP或消息服务(MNS)客户端直接获取设备消息。支持快速地获取设备消息,无消息过滤和转换能力,功能较为单一,但是简单易用且高效。

流转方案对比说明

流转方式对比

流转方式应用场景优点缺点使用限制
云产品流转
  • 需将设备数据消息转发至其他Topic或其他阿里云产品进行存储或处理的场景。
  • 海量吞吐量场景。
  • 功能相对完备。
  • 支持在规则运行时,调整流转规则。
  • 支持对数据进行简单过滤处理。
  • 支持将数据流转至其他阿里云云产品。

    数据流转至其他阿里云云产品简要对比,请参见云产品流转各方案对比

需编写SQL和配置规则,使用相对复杂。

云产品流转使用限制
服务端订阅
  • 仅需接收设备数据的场景。
  • 服务端接收产品下已订阅的全部设备数据。

相对简单易用且高效。

缺少过滤和转换能力。

  • 不支持细粒度的过滤及订阅功能,只能接收租户下全部的消息。
  • 目前,单消费组的QPS限制为1,000 QPS。

详细限制说明,请参见服务端订阅使用限制

云产品流转各方案对比

流转目标应用场景优点缺点相关文档
消息队列RocketMQ要对设备数据进行复杂或精细化处理的海量设备场景。

设备消息量大于1,000 QPS的场景,推荐使用消息队列 RocketMQ。

  • 稳定可靠。
  • 支持海量数据。
公网支持略差(铂金版公网性能较好)。
消息服务(MNS)公网环境场景下,对设备数据进行复杂或精细化处理。

设备消息量小于1,000 QPS的场景,推荐使用MNS。

  • 采用HTTPS协议。
  • 公网支持较好。

性能略低于消息队列RocketMQ。

云数据库RDS版适合单纯的数据保存场景。数据直接写入数据库。不涉及。
时序数据库(TSDB)适合根据设备数据进行业务分析和监控的场景。数据直接写入时序数据库。不涉及。
DataHub适合需对数据进行分析处理的场景。数据直接写入DataHub。不涉及。
表格存储(Tablestore) 适合单纯的数据存储场景。数据直接写入表格存储实例。不涉及。
函数计算(Function Compute)需要简化设备开发过程,且对设备数据进行一定自由度的处理的场景。
  • 数据处理自由度高。
  • 功能多。
  • 无需部署。
费用略高。

使用与注意

服务端订阅

功能说明注意事项
服务端可以通过AMQP SDK或消息服务(MNS)SDK接收已订阅的产品下所有类型的消息,包含设备上报消息、设备状态变化通知、设备生命周期变更、物模型历史数据上报、OTA升级状态通知、网关发现子设备上报、设备拓扑关系变更等。
  • 服务端订阅的特性是保障实时消息优先,会对堆积消息降级处理。请确保消费端能及时消费。
  • 服务端订阅不能满足需对数据进行高级过滤以及精细化处理的场景,这类场景推荐使用规则引擎。

数据流转到消息队列RocketMQ

功能说明使用限制注意事项

通过云产品流转功能,将物联网平台中指定Topic的消息流转到RocketMQ中的Topic,然后通过RocketMQ的SDK接收相应的消息。

  • 由于RocketMQ性能突出,推荐通过RocketMQ接收设备消息。
  • RocketMQ支持跨租户的Topic授权,可满足一定场景的跨租户的数据流转需求。
  • RocketMQ的公网测试集群不能用于生产环境。
  • RocketMQ的非公网Endpoint无法用于本地调试,需要在该地域的ECS中运行调试。
  • RocketMQ的公网测试集群可以支持开发者本地接收消息,但是稳定性很差,请勿用于线上生产环境。
  • 对于较大的设备消息量(>5,000 QPS)场景或者稳定性要求特别高的场景,推荐使用RocketMQ铂金版。
  • 规则引擎在数据流转失败,再重试失败数次后,会丢弃消息。另外,消息类产品存在延迟的可能,业务场景一定要做好消息丢失或者延迟送达的影响防护。

数据流转到消息服务(MNS)

功能说明使用限制注意事项

可以通过云产品流转功能,将指定Topic的消息流转到MNS的主题中,然后通过MNS的SDK接收相应的消息。MNS对公网环境支持友好。设备消息量(<1,000QPS)不是特别大,推荐使用MNS。

请参见MNS使用限制中主题相关使用限制。

规则引擎在数据流转失败,再重试失败数次后,会丢弃消息。另外,消息类产品存在延迟的可能,业务场景一定要做好消息丢失或者延迟送达的防护。

数据流转到函数计算

功能说明使用限制注意事项

通过云产品流转,将指定Topic的消息转入到函数计算中,开发者可以进一步对消息进行处理。函数计算免部署,可以简化业务的开发。

请参见函数计算使用限制
  • 适用于对于设备消息有定制化的处理需求或者需简化开发运维的场景。
  • 规则引擎在数据流转失败,再重试失败数次后,会丢弃消息。业务场景一定要做好消息丢失或者延迟送达的影响防护。