Comparison of data forwarding solutions
In many scenarios, you need to process data that devices report to IoT Platform or use the data for business applications. You can use the server-side subscription and data forwarding features of IoT Platform to forward device data. This topic compares data forwarding solutions and their application scenarios to help you choose the most suitable solution.
Data forwarding methods
Method | Description | References |
Data forwarding | Provides basic data filtering and transformation. You can filter and transform device data, and then forward the data to other Alibaba Cloud product instances. | |
Server-side subscription | Directly obtain device messages through an AMQP client or a Simple Message Queue (formerly MNS) (SMQ) client. This method allows for fast message retrieval. It does not support message filtering or transformation. The feature is simple but easy to use and efficient. |
Comparison of forwarding solutions
Comparison of forwarding methods
Method | Scenarios | Pros | Cons | Limits |
Data forwarding |
|
| Requires you to write SQL statements and configure rules, which can be complex. | For more information, see Data forwarding limits. |
Server-side subscription |
| Simple, easy to use, and efficient. | Lacks filtering and data transformation capabilities. |
For more information about the limits, see Server-side subscription limits. |
Comparison of data forwarding destinations
Destination | Scenarios | Pros | Cons | References |
Message Queue for Apache RocketMQ | Scenarios that involve many devices and require complex or fine-grained data processing. Message Queue for Apache RocketMQ is recommended for scenarios where the message volume is greater than 1,000 QPS. |
| Limited support for public networks. The Platinum edition provides better performance over public networks. | |
Simple Message Queue (formerly MNS) (SMQ) | Scenarios that require complex or fine-grained data processing over a public network. MNS is recommended for scenarios where the message volume is less than 1,000 QPS. |
| Lower performance compared to Message Queue for Apache RocketMQ. | |
ApsaraDB RDS | Suitable for simple data storage scenarios. | Data is written directly to the database. | N/A. | |
Time Series Database (TSDB) | Suitable for scenarios that require business analysis and monitoring based on device data. | Data is written directly to the time series database. | N/A. | |
DataHub | Suitable for scenarios that require data analysis and processing. | Data is written directly to DataHub. | N/A. | |
Tablestore | Suitable for simple data storage scenarios. | Data is written directly to a Tablestore instance. | N/A. | |
Function Compute | Scenarios that require a simplified device development process and flexible data processing. |
| Higher cost. |
Usage and notes
Server-side subscription
Feature description | Notes |
A server can use an AMQP SDK or an Simple Message Queue (formerly MNS) (SMQ) SDK to receive all types of messages for a subscribed product. These messages include device-reported messages, device status notifications, device lifecycle changes, Thing Specification Language (TSL) model historical data reports, over-the-air (OTA) update status notifications, sub-device discovery reports from gateways, and device topology changes. |
|
Forwarding data to Message Queue for Apache RocketMQ
Feature description | Limits | Notes |
Use the data forwarding feature to forward messages from a specified topic in IoT Platform to a topic in Message Queue for Apache RocketMQ. Then, use the RocketMQ SDK to receive the messages.
|
|
|
Forwarding data to Simple Message Queue (formerly MNS) (SMQ)
Feature description | Limits | Notes |
You can use the data forwarding feature to forward messages from a specified topic to a subject in MNS. Then, use the MNS SDK to receive the messages. MNS provides good support for public network environments. MNS is recommended if the device message volume is not particularly large (<1,000 QPS). | For more information, see the subject-related limits in MNS limits. | If data forwarding fails and subsequent retries also fail, the rules engine discards the message. In addition, message-based products may experience delays. Your business must be designed to handle message loss or delayed delivery. |
Forwarding data to Function Compute
Feature description | Limits | Notes |
Use data forwarding to transfer messages from a specified topic to Function Compute, where developers can further process the messages. Function Compute is deployment-free and can simplify business development. | For more information, see Function Compute limits. |
|