簡體   English   中英

Mqtt + Spark流媒體和dynamodb

[英]Mqtt + Spark streaming and dynamodb

我正在嘗試使用上述技術來設計IoT平台。 如果有人可以對體系結構發表評論,如果它很好且可擴展,我將很高興!

我通過mqtt獲得了IoT傳感器數據,我將通過火花流接收(有一個mqtt連接器用於火花流)。 我只需要訂閱主題,並且有一個第三方服務器將IoT數據發布到該主題。

然后,我解析數據,並將其插入AWS DynamoDB中。 是的,整個設置將在AWS上運行。

將來可能需要根據IoT用例來處理/轉換數據,因此我認為spark可能有用。 我也聽說火花流正在快速燃燒。

這是一個簡單的概述,我不確定它是否是一個好的體系結構。 使用Spark Streaming是否會過分殺人? 還有其他方法可以將數據直接存儲在從mqtt接收的mqtt

我無法說明您的組件是否會形成可伸縮的體系結構,因為您沒有詳細說明如何擴展它們,也沒有詳細說明此類系統應處理的估計負載,或者負載是否達到峰值。

如果您在性能方面談論可伸縮性,則還應該在價格方面考慮可伸縮性,這對於您的項目可能很重要。

例如, DynamoDB是一種非常可擴展的NoSQL數據庫服務,它以非常有效的價格提供了彈性的性能。 我對Apache Spark不太了解,即使Apache Spark規模設計得非常高效,您將如何分配傳入數據? 您將在EC2上托管多個實例並使用自動擴展來管理實例嗎?

我的建議是按照組件划分您的需求,以進行成功的分析。 總結您的陳述:

  • 您需要使用MQTT大規模接收傳入的傳感器遙測。
  • 您需要即時轉換或豐富這些數據。
  • 您需要將這些數據(可能是時間序列)插入DynamoDB中,以構建事件源系統
  • 既然您提到了Apache Spark,我想您需要對這些數據進行近乎實時或批量的一些分析,以從數據中建立價值。

我的建議是在AWS中使用無服務器的托管服務,這樣您就只能為真正使用的東西付費,而不必擔心維護或可伸縮性,而只關注項目。

  • AWS IoTAWS內置的平台,可讓您使用MQTT 安全地吸收任何規模的數據。
  • 該平台還嵌入了規則引擎 ,可讓您在雲中構建業務規則。 例如,攔截傳入的消息,豐富它們,然后調用其他AWS服務(例如,調用Lambda函數以對接收到的數據進行一些處理)。
  • 規則引擎具有DynamoDB的本機連接器,該連接DynamoDB您可以將豐富或轉換后的數據插入表中。
  • 如果您想實時獲取傳感器數據的預測,則規則引擎還具有新的Amazon Machine Learning服務的連接器。
  • 然后,您可以每天,每周,每月使用其他服務(例如EMR + Spark)對數據進行批處理。

這樣做的好處是,您可以組裝組件並隨手使用它們,這意味着您一開始就不需要功能齊全的堆棧,但仍具有將來進行更改的靈活性。


AWS IoT服務概述。

在此處輸入圖片說明

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM