WHITE PAPER
Driving the Future of Connected Cars with MQTT →

千万レベル接続のためにIoV MQTTメッセージプラットフォームの構築方法

EMQX Team
May 26, 2023
千万レベル接続のためにIoV MQTTメッセージプラットフォームの構築方法

このシリーズの前の記事で述べたように、MQTTプロトコルは、IoVのデータプラットフォームを構築するために現在最適な通信プロトコルです。これに基づいて、この記事では、IoVのMQTTメッセージの取得と送信について、そして千万レベル接続のためにIoV MQTTメッセージプラットフォームの構築方法について、IoVビジネスに従事する企業ユーザーの参考になるように説明します。

IoVの基盤:データ収集と伝送

IoVのメッセージプラットフォームの構築の目的

IoVの建設の急速な発展に伴い、すべての自動車メーカーは合意を形成しています:IoVの建設の目的は、インターネットのためでも、車載エンターテインメントのためでもありません。IoVの目的は、車スマート化のために、リアルタイムでデータの収集とコントロール機能を実現します。データがあれば、完全なデータガバナンスとIoVのアプリシステムによって、未来にあるスマートカーのシナリオが可能になります。

そして、ビジネスのターゲットデータは、車両端自身のデータに限定されるわけではありません。V2Xフレームワークでは、車両と車両(V2V)、車両と道路(V2R)、車両とインターネット(V2I)、車両とクラウド(V2C)、車両と人間(V2H)の間の相互接続を解決し、車両、道路、クラウド、インターネット、人間の包括的なデータ収集と分析を実現する必要があります。 5Gに基づくC-V2Xプロトコルと通信モードは、システム全体の構築のための基本的な能力を提供します。

IoVアプリケーションは、従来のOTAアプリケーションから、インテリジェントなコックピット、高精度マップ適応、センチメートルレベルの位置測定、車両マシンエンドロングコネクション、モバイルエンドメッセージ取得、車道画像データをクラウドへの転送、車道協調など、多数の新しいインテリジェントなアプリケーションシナリオに拡大しています。IoVビジネスのメッセージングプラットフォームとデータ処理システムに対する要求は、元の車両クラウドから人間-車両-道路-インターネット-クラウドのアーキテクチャ全体の構築に拡大し、全体のメッセージングプラットフォームの構築に対してより高い要件が提出されています。

大規模な接続、高並行スループット、低レイテンシを備えたメッセージ通信および伝送システムアーキテクチャを構築して、システム全体の普遍性、利便性、高可用性、信頼性、セキュリティ、高並行性を確保することが、自動運転と車道協調シナリオに基づく新世代のIoVシステムの構築の鍵となります。

IoVメッセージングプラットフォームのアーキテクチャ設計 - 千万レベル接続のため

次に、EMQのIoVメッセージプラットフォームとデータ処理のトータルソリューションを例に、千万レベル接続のIoVメッセージプラットフォームを構築する方法を説明します。

ビジネスの課題

車両、路側ユニット、モバイルエンドシステムの安全なアクセス

車両エンドは、車両機器のデータ報告、POI配布、ファイルプッシュ、配布構成、メッセージプッシュ、操作ケアなど、新しいIoVビジネスをカバーする必要があります。生成された大量のメッセージトピックは、より安全で安定したアクセスと伝送が必要であり、メッセージの購読とリリースを実現するためです。ロードエンドは、RSUの安全なアクセス、メッセージの収集と伝送、地図データの伝送などを実現する必要があります。

大規模な同時メッセージのリアルタイム性と信頼性

高精度マップ、センチレベル位置決め、車両-道路協調などのアプリケーションは、すべて、大量の車両ルートマップメッセージのミリ秒レベルの低遅延と高信頼性の伝送能力要件を満たす必要があります。メッセージ処理プラットフォームは、高性能、低遅延、高信頼性を備えた数千万の接続と数百万の同時ビジネスシナリオをサポートする能力を持つ必要があります。

総合ソリューション

このソリューションでは、EMQXというEMQが所有するクラウドネイティブIoTメッセージングプラットフォームを使用して、IoVシステムの車両端、人間端、道路端のデータ接続、移動、処理を実現します。EMQXの統合分散MQTTメッセージングサービスと強力なIoTルールエンジンは、高い信頼性と高いパフォーマンスを持つIoVリアルタイムデータ移動、処理、および主要ビジネスとの統合のための基本的な機能基盤を提供し、企業が迅速にIoTプラットフォームとアプリケーションを構築し、主要ビジネスに対応することができます。

アプリケーションシナリオの豊富な統合

自動運転を中心としたIoVシステムでは、人間、道路、地図、クラウドに関連するさまざまなアプリケーションを接続するためにメッセージングプラットフォームを使用する必要があります。メッセージングプラットフォームを介して車両エンドデータを高精度マップ、センチレベル位置決め、車両-道路協調、モバイルエンド接続などのアプリケーションに接続し、メッセージプラットフォームを通じてアプリケーションの調整を保証し、高性能、低遅延、高信頼性のデータアーキテクチャを提供します。

大量データのストレージ、処理、配布

人間、車両、道路、クラウド、地図、インターネットからの大量のIoTデータを収集した後、全ライフサイクル管理を行う必要があります。これには、大規模なリアルタイムデータストリームのアクセス、ストレージ、処理、配布が含まれます。これにより、アプリケーションの動的な連続的なデータストリームに対するデータベースサポートが提供され、IoVデータを使用して消費者をサポートし、ビジネスの決定を指導するためのアプリケーションをサポートします。

総合ソリューション このソリューションでは、EMQXというEMQが所有するクラウドネイティブIoTメッセージングプラットフォームを使用して、IoVシステムの車両端、人間端、道路端のデータ接続、移動、処理を実現します。EMQXの統合分散MQTTメッセージングサービスと強力なIoTルールエンジンは、高い信頼性と高いパフォーマンスを持つIoVリアルタイムデータ移動、処理、および主要ビジネスとの統合のための基本的な機能基盤を提供し、企業が迅速にIoTプラットフォームとアプリケーションを構築し、主要ビジネスに対応することができます。

車両端のメッセージ処理

EMQXはMQTTプロトコルを使用してIoVシステムにアクセスします。車両は負荷分散を介してEMQX分散クラスターに接続されます。EMQXの水平拡張能力により、千万レベルの車両接続と数百万の同時応答のデータ通信能力を実現することができます。ルールエンジンにより、メッセージキューのブリッジング、永続ストレージおよびオフラインメッセージストレージの大量メッセージの1つの一括処理能力を実現し、また、北向き統合に対して豊富なAPI原子能力を提供します。

セキュリティに関しては、EMQXはTLS/DTLSセキュリティプロトコルをサポートし、システムの信頼性と安定性を確保するだけでなく、ハートビート監視、ラストウィルテスタメントメッセージ、QoSレベルなど、多数の保証メカニズムを提供します。また、オフラインメッセージストレージを通じて、複雑なインターネット環境下でのリアルタイムで安全で信頼性の高い車両マシンメッセージングを実現することができます。

人間端および道路端のメッセージ処理

EMQXは、人間端および道路端のモバイルアプリ、RSUなどの端末向けのメッセージ収集および処理プラットフォームを提供します。5Gネットワークスライシングの機能を活用し、個人端末と道路側ユニットの近接アクセスを通じて、超低遅延の交通情報サービスを実現することができます。MQTTなどのプロトコルを通じて、人間端および道路側施設によって感知された道路状況に関する情報がクラウド制御プラットフォームにプッシュされ、クラウド制御プラットフォームはV2Xアルゴリズムと統合され、道路協調認識、セキュリティ警告、リモート協調制御などのインテリジェント交通シナリオを実現します。

セキュリティに関しては、EMQXは、国際標準のTLS/DTLS暗号化をサポートし、PKI/CA証明書に基づく認証システムを拡張することで、人間、車両、道路の情報システムの協調セキュリティ通信を保証します。

千万レベルの接続のアーキテクチャモデル

次世代のIoVに対して、EMQの全体的なメッセージングおよびデータ処理プラットフォームのアーキテクチャは、千万レベルの接続規模と百万レベルの同時実行能力を持ちます。

  • ビジネスシナリオ:IoVシナリオで、車両、モバイルアプリ、RSU、その他のデバイスがMQTTを介してアクセスされ、10,000万レベルの端末に対する同時アクセス能力を実現します。
  • システムアーキテクチャ:端末機器はMQTT、HTTPなどのプロトコルを介してアクセスされ、負荷分散コンポーネントを介して分散メッセージプラットフォームEMQXに接続されます。分散マルチクラスターの展開により、千万レベルの同時接続要件を満たすことができます。百万レベルのメッセージスループット能力に応じて、ルールエンジンはKafkaクラスターに接続され、データ転送を実現します。IoVサービスプラットフォーム、高精度マップサービス、V2Xクラウド制御サービス、位置サービスなどのIoV関連アプリケーションは、Kafkaデータに直接購読することで消費することができます。一方、EMQは、REST、MQTT、MQメッセージキューの3つの南向きインターフェースサービスを提供し、車両制御(リモート制御)メッセージの双方向通信を実現します。

このアーキテクチャにより、EMQは、Cloud-Native IoT Messaging Platform EMQXを通じて、IoVシナリオの千万レベルの接続と百万レベルの同時スループットのビジネス要件を満たすことができます。

千万レベルの接続テスト

テスト環境と目的

テスト環境と目的 ある車両企業は、IoVシナリオのテスト環境でEMQXクラスターの以下の機能を検証し、後続のビジネス成長に対応するための対応する技術アーキテクチャと能力サポートを準備することを計画しています。

  • 100バイトのペイロードを持つQoS0メッセージを100,000〜150,000件/秒でKafkaにブリッジングするルールエンジンを介して、10,000万の同時接続をサポートすることができます。
  • 10,000万の同時接続の購読とOTA放送テーマの消費をサポートします。
  • 同時接続数300万の場合でもクラスターアバランチを引き起こさず、接続に必要な時間をテストすることができます。

また、上記のすべてのテストが完了した後、現在の構成で10,000万の同時接続でサポートできるメッセージングおよびブリッジング転送の最大スループットをテストし、EMQXクラスターリソースの使用に基づいてクライアントメッセージング頻度を増やすことにより、平均応答時間50ミリ秒でQoS2と最大メッセージスループットをテストする予定です。

テスト準備

クライアントはTLS暗号化を介してロードバランシングELBに接続し、次にTLSでHAProxyでクライアントを終了し、最終的にTCPを介してEMQXクラスタに接続します。 EMQXクラスタのサポート能力は、HAProxyでTLSを終了することで改善できます。この展開モードでは、EMQXの処理能力は、MQTT TCPを介して直接接続するクライアントと同じです。さらに、MQTT TCP接続と比較して、クライアントはTLS接続を介してより多くのリソースを消費する必要があります。ただし、このテストの規模は千万レベルであり、大量のテストマシンが必要です。 EMQXクラスタのテスト対象に影響を与えることなく、必要なテストリソースを減らすために、このテストではTCP接続を直接使用します。

Service Amount Version OS CPU RAM Network interface card Port
Load balancing cloud service 1 18083/1883/8081
EMQX node 10 V4.3.4 Centos7.8 64C 128G 1 18083/1883/8081/8883
Kafka cloud service 4 2.3.0 Centos7.8 16 32G 1 9092
XMeter pressure test controlling node 2 3.0 Centos7.8 16 32G 1 443/80/3000/8086port open
XMeter pressure test node 43 3.0 Centos7.8 16 32G 5 port open

テストシナリオ:

S/N シナリオ シナリオの説明 期待される結果
1 数千万の接続とメッセージスループット 200秒のハートビート間隔を持つ10,000,000個のMQTT TCP同時接続。そのうち、7,000,000個はバックグラウンド接続(メッセージを送信せずに接続のみ)、3,000,000個はアクティブなユーザーで、各ユーザーは15秒ごとにQoS0メッセージを報告し、ペイロードは100Bです。メッセージはルールエンジンによってKafkaにブリッジされます。まず1時間のテストを実施し、その後24時間の安定性テストを実施します。 内部ネットワーク環境でのテストの成功率は100%で、メッセージのバックログはありませんでした。テスト中、CPUと内部メモリのパフォーマンスは重大なバイブレーションなしにスムーズでした。
2 メッセージ配信 1000万のMQTT TCP同時接続、すべての接続が同じOTAブロードキャストテーマ(QoS0、ペイロード100B)にサブスクライブしています。MQTTクライアントをシミュレートして、10分ごとにトピックにメッセージをブロードキャストし、30分のテストを実施します 内部ネットワーク環境でのテストの成功率は100%で、すべてのサブスクリプションクライアントが3つのメッセージを正常に消費しました。
3 300万の同時インスタント接続 300万のMQTTクライアントが同時に接続を開始し、すべての接続の完了に必要な時間をテストします。 300万のクライアントが正常に接続され、クラスターが崩壊を起こさないようにします。
4 1,000万の接続での最大メッセージスループットのテスト 1,000万の接続での最大メッセージスループットの探索 既存の構成と1,000万の接続とKafkaとのブリッジングで達成可能な最大メッセージスループッ(QoS0、ペイロード100B/1kB)を探索します。 最大メッセージスループットに到達した後、2時間後にテストを実施し、内部ネットワーク環境でのテストの成功率は100%で、メッセージのバックログはありませんでした。テスト中、CPUと内部メモリのパフォーマンスは重大なバイブレーションなしにスムーズでした

テスト結果

このテストの結果は次の通りです:

S/N シナリオ 平均応答時間 EMQX Node CPU 使用率 EMQX Node CPU IDLE EMQX Node Internal Memory 使用量 (G) LB Required Bandwidth (MB)
1 1千万の接続+ 20万のメッセージスループット、QoS0、ペイロード100B。 1.5ms 31%-48% 平均値: 47% 37%-54% 平均値: 47% 占用: 27.7~42 可用: 78.2~92.5 45
2 千万以下の接続数でのメッセージブロードキャスト 100ms 最大 21% 最小 69% 占用: 最大32.3可用: 最小 87.9 200
3 300万の同時インスタント接続 3分以内接続完了 最大 25% 最小 63% 占用: 最大 14.7可用: 最小 108.2 400
4 QoS0、ペイロード1kBで、1000万の接続+120万のメッセージスループット 164.3ms 23%-64% 平均値: 46% 20%-64% 平均値: 43% 占用: 最大33~38可用: 最小 81.3~87.1 1350
5 QoS2で、ペイロード100Bで、1000万の接続+20万のメッセージスループット 51.4ms 3%-51% 平均値: 41% 31%-53% 平均値: 43% 占用: 22.2~29 可用: 91~98 95

テスト要約

上記のように、現在の展開アーキテクチャーでは、数千万の同時接続+20万のメッセージブリッジング、メッセージ放送、および300万の即時同時接続に対する車両企業の検証要件を満たすことができます。探索テストでは、10万接続で最大1.2百万メッセージTPS(QoS0、ペイロード1kB)をテストし、テストは10時間続き、EMQXクラスターは安定しており、最低CPUアイドルは20%、内部メモリ使用率は安定しています。

これにより、EMQXは、IoVシナリオで数千万の接続をサポートするための優れたパフォーマンス、安定した信頼性のあるアーキテクチャを持っていることがわかります。

プレッシャーテストツールの紹介

多数のテストマシンが必要であり、管理が複雑であるため、私たちは商用版のEMQソフトウェアXMeterパフォーマンステストプラットフォームとJMeter-MQTTプラグインを使用してテストを行っています。

XMeter Website: https://www.xmeter.net/

JMeter download address: https://jmeter.apache.org/

まとめ

本記事では、クラウドネイティブIoTメッセージングプラットフォームEMQXを利用した数千万レベルのIoV MQTTメッセージプラットフォームのアーキテクチャデザインを紹介し、数千万レベルの同時接続シナリオでのアーキテクチャのパフォーマンスを検証しました。これにより、IoVシステムのメッセージデータプラットフォームの構築に対する可能な設計参考を提供しました。

IoTデータインフラストラクチャーソフトウェアの世界的なリーディングプロバイダーであるEMQは、高いパフォーマンス、低レイテンシー、高可用性、高信頼性を備えた製品を構築することに取り組んでおり、新しい世代のIoVシステムの情報収集、移動、処理、分析のための総合的なソリューションを提供しています。これにより、自動運転およびインテリジェントネットワーク化された自動車ビジネスにおける車両メーカー、T1サプライヤー、ポストマーケットサービスプロバイダー、旅行サービス企業、および政府管理機関のインフラストラクチャーサービス保証を提供し、人間、車両、道路、およびクラウドの間のインテリジェントなアプリケーションを実現しています。

おすすめ閲読

May 26, 2023Guowei Li
「Internet of Vehicles(IoV)」シナリオのMQTT設計

このシリーズの記事では、プロトコル選択などの理論的な知識から、プラットフォームアーキテクチャ設計などの実践的な操作まで、IoV分野でのEMQの実践的な経験に基づいて、信頼性の高い、効率的なIoVプラットフォームを構築する方法を紹介します。