MQTTプロトコルを使用する必要がありますか?


8

以下のIoTユースケースの実装を開始する予定です。

使用事例

IoTデバイスはリピーター経由でゲートウェイに毎分100kメッセージを送信し、ゲートウェイはメッセージをクラウドに転送します。組織の従業員を追跡したい。センサーはIDカードに固定されます。センサーは、位置関連データ(約15KB /メッセージ)をリピーター経由でゲートウェイに送信します。分析を目的としています。データがクラウドに渡された後、分析を行ってDBに保存し、Webページに表示します。この分析データに基づいて、ユーザーの現在の場所と、一定の経過時間(過去1時間、2時間、または1日)のユーザーの移動場所も表示します。

データを処理して、フロントエンド/ DBに送信します。

私はIoTの基本とそのアーキテクチャーを経験しました。次に、「SMACK」スタック(Spark、Mesos、Akka、Cassandra、Kafka)アーキテクチャを使用することにしました。

ゲートウェイで「Kafkaネイティブクライアント」を使用して、メッセージをクラウドに公開することにしました。

MQTTプロトコルを使用してメッセージをKafkaに転送する必要がありますか?または、上記の使用例ではMQTTは必要ありませんか?

はいの場合、「SMACK」アーキテクチャでMQTTを使用する利点は何ですか?


2
1分あたり1.5メガバイト?従業員1人あたり、終日ですか?プロトコルについては忘れてください。おそらく、一歩下がってデータ自体を再検討し、送信前にデータを抽出する方法を見つける必要があります。
Chris Stratton

私の考えは正確に(+1)です。従業員は何人いますか?2,000人の従業員を抱える大規模なサイトで、毎秒ほぼ1回、その位置を追跡しています。誰がその正確さを必要としていますか?それで何ができますか?そして、なぜ緯度/経度に15kBが必要なのですか?それの残りは何ですか、そしてそれはどれくらいの頻度で変わりますか?
Mawgはモニカを

気になるだけ-IDをどのように追跡していますか?長距離パッシブRFID?ブルートゥース?パッシブRFID以外の場合は、バッテリーの問題を予測できます。
Mawgはモニカを

回答:


5

MQTTを使用する必要はありません。従業員IDカードにインストールされたKafkaクライアントは、クラウド内のkafkaブローカーにデータを直接送信できます。したがって、ゲートウェイにKafkaを使用している間、実際にはセンサー自体にkafkaを使用できます。

KafkaとMQTTは互換性がなく、強力な側面(エネルギー消費、帯域幅消費、スループット...)がそれぞれ異なりますが、スタックの複雑さから推測すると、そうだと思います。Kafkaは、毎分10万メッセージを処理できます。

とにかくMQTTを使用する場合は、IBMが同じプロジェクトでMQTTとKafkaを使用する方法についてのブログ投稿をご覧ください。彼らのプロジェクトもモビリティに関するものなので、実際に役立つと思います。

KafkaとMQTTを使用したIoTデバイスの管理


atayenel、詳しく説明してくれてありがとう。私の場合、センサーから直接メッセージをプッシュする代わりにゲートウェイを使用する必要があります。Google(MQTT)とIBM IOTサービスプロバイダーはMQTTを使用していますか?以下のリンクを読んだ後、私はいくつかの混乱を持っています...なぜあなたは知っていますか、何か特別な理由はありますか?cloud.google.com/iot/docs/concepts/protocols
SKK

Kafkaはその量のデータを処理できますか?
Mawgはモニカを

Kafkaはmqttよりもデータスループットが優れています。したがって、mqttで処理できる場合は、kafkaでも処理できます。
atakanyenel

@atayenelコメントありがとうございます。私のユースケースのおおよその最小ハードウェア要件を教えてください。
SKK 2018

@SKK正確には言えませんが、この質問を見ることができます。
atakanyenel

2

特にqos = 0(おそらくあなたの場合)メッセージの場合、この負荷を処理するほとんどすべての種類のMQTTブローカーに問題はありません。毎秒100.000のメッセージ(0.5KB)を受信する(+ SSL)ことで、ブローカーに常に負荷がかかっています。この問題は、ppsではなくトラフィック側から発生する可能性があります。

あなたのシステムのアーキテクチャに関して、私の個人的なアドバイス-できるだけシンプルにするようにしてください。そして単純な意味-いくつかの中間コンポーネント/サービス。2つのサービスを直接接続できる場合は、それを実行してください。機能の追加を開始するときには、常にそれをより複雑にする可能性があります。


ありがとうございました。SMACKではなくシンプルなアーキテクチャを使用しますか?
SKK 2018年

このiot.stackexchange.com/q/2718/5382を調べてください。
SKK 2018年

それは完全にあなた次第ですが、私の意見では、最初は重要なタスクに集中して、できるだけ簡単に作成したいと思います。))「私は再びそれを行う場合、私はそれを違うでしょう」通常の場合は、前と後(または中央)プロジェクトのご理解が全く異なることであると、多くの場合、あなたは最終的な結論を持っている
SHAL
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.