全部產品
Search
文件中心

IoT Platform:資料流轉方案對比

更新時間:Oct 25, 2024

在許多情境中,您需要將裝置上報給物聯網平台的資料進行加工處理或用於業務應用。使用物聯網平台提供的服務端訂閱和雲產品流轉服務,均可實現裝置資料流轉。本文對比物聯網平台支援的各流轉方案及應用情境,協助您選擇合適的流轉方案。

資料流轉方式說明

流轉方式

說明

相關文檔

雲產品流轉

提供初級的資料過濾轉換能力。支援對裝置資料進行過濾並轉換,然後流轉到其他阿里雲雲產品執行個體。

設定資料流轉規則

服務端訂閱

通過AMQP或Simple Message Queue (formerly MNS) (SMQ)用戶端直接擷取裝置訊息。支援快速地擷取裝置訊息,無訊息過濾和轉換能力,功能較為單一,但是簡單易用且高效。

流轉方案對比說明

流轉方式對比

流轉方式

應用情境

優點

缺點

使用限制

雲產品流轉

  • 需將裝置資料訊息轉寄至其他Topic或其他阿里雲產品進行儲存或處理的情境。

  • 海量輸送量情境。

  • 功能相對完備。

  • 支援在規則運行時,調整流轉規則。

  • 支援對資料進行簡單過濾處理。

  • 支援將資料流轉至其他阿里雲雲產品。

    資料流轉至其他阿里雲雲產品簡要對比,請參見雲產品流轉各方案對比

需編寫SQL和配置規則,使用相對複雜。

雲產品流轉使用限制

服務端訂閱

  • 僅需接收裝置資料的情境。

  • 服務端接收產品下已訂閱的全部裝置資料。

相對簡單易用且高效。

缺少過濾和轉換能力。

  • 不支援細粒度的過濾及訂閱功能,只能接收租戶下全部的訊息。

  • 目前,單消費組的QPS限制為1,000 QPS。

詳細限制說明,請參見服務端訂閱使用限制

雲產品流轉各方案對比

流轉目標

應用情境

優點

缺點

相關文檔

訊息佇列RocketMQ

要對裝置資料進行複雜或精細化處理的海量裝置情境。

裝置訊息量大於1,000 QPS的情境,推薦使用訊息佇列 RocketMQ。

  • 穩定可靠。

  • 支援海量資料。

公網支援略差(鉑金版公網效能較好)。

Simple Message Queue (formerly MNS) (SMQ)

公網環境情境下,對裝置資料進行複雜或精細化處理。

裝置訊息量小於1,000 QPS的情境,推薦使用MNS。

  • 採用HTTPS協議。

  • 公網支援較好。

效能略低於訊息佇列RocketMQ。

雲資料庫RDS版

適合單純的資料儲存情境。

資料直接寫入資料庫。

不涉及。

時序資料庫(TSDB)

適合根據裝置資料進行業務分析和監控的情境。

資料直接寫入時序資料庫。

不涉及。

Table Store(Tablestore)

適合單純的資料存放區情境。

資料直接寫入Table Store執行個體。

不涉及。

Function Compute(Function Compute)

需要簡化裝置開發過程,且對裝置資料進行一定自由度的處理的情境。

  • 資料處理自由度高。

  • 功能多。

  • 無需部署。

費用略高。

使用與注意

服務端訂閱

功能說明

注意事項

服務端可以通過AMQP SDK或Simple Message Queue (formerly MNS) (SMQ)SDK接收已訂閱的產品下所有類型的訊息,包含裝置上報訊息、裝置狀態變化通知、裝置生命週期變更、物模型歷史資料上報、OTA升級狀態通知、網關發現子裝置上報、裝置拓撲關係變更等。

  • 服務端訂閱的特性是保障即時訊息優先,會對堆積訊息降級處理。請確保消費端能及時消費。

  • 服務端訂閱不能滿足需對資料進行進階過濾以及精細化處理的情境,這類情境推薦使用規則引擎。

資料流轉到訊息佇列RocketMQ

功能說明

使用限制

注意事項

通過雲產品流轉功能,將物聯網平台中指定Topic的訊息流程轉到RocketMQ中的Topic,然後通過RocketMQ的SDK接收相應的訊息。

  • 由於RocketMQ效能突出,推薦通過RocketMQ接收裝置訊息。

  • RocketMQ支援跨租戶的Topic授權,可滿足一定情境的跨租戶的資料流轉需求。

  • RocketMQ的公網測試叢集不能用於生產環境。

  • RocketMQ的非公網Endpoint無法用於本地調試,需要在該地區的ECS中運行調試。

  • RocketMQ的公網測試叢集可以支援開發人員本地接收訊息,但是穩定性很差,請勿用於線上生產環境。

  • 對於較大的裝置訊息量(>5,000 QPS)情境或者穩定性要求特別高的情境,推薦使用RocketMQ鉑金版。

  • 規則引擎在資料流轉失敗,再重試失敗數次後,會丟棄訊息。另外,訊息類產品存在延遲的可能,業務情境一定要做好訊息丟失或者延遲送達的影響防護。

資料流轉到Simple Message Queue (formerly MNS) (SMQ)

功能說明

使用限制

注意事項

可以通過雲產品流轉功能,將指定Topic的訊息流程轉到MNS的主題中,然後通過MNS的SDK接收相應的訊息。MNS對公網環境支援友好。裝置訊息量(<1,000QPS)不是特別大,推薦使用MNS。

請參見MNS使用限制中主題相關使用限制。

規則引擎在資料流轉失敗,再重試失敗數次後,會丟棄訊息。另外,訊息類產品存在延遲的可能,業務情境一定要做好訊息丟失或者延遲送達的防護。

資料流轉到Function Compute

功能說明

使用限制

注意事項

通過雲產品流轉,將指定Topic的訊息轉入到Function Compute中,開發人員可以進一步對訊息進行處理。Function Compute免部署,可以簡化業務的開發。

請參見Function Compute使用限制

  • 適用於對於裝置訊息有定製化的處理需求或者需簡化開發營運的情境。

  • 規則引擎在資料流轉失敗,再重試失敗數次後,會丟棄訊息。業務情境一定要做好訊息丟失或者延遲送達的影響防護。