コンセプト FAQ
どの製品を提供していますか?
EMQXには2つの主要な製品ラインがあります。製品ごとに対応可能な接続数、機能、サービスタイプなどが異なります。
- EMQX Enterprise:EMQX Enterpriseは商用のセルフホスト型MQTTメッセージングプラットフォームです。データパーシステンス(Redis、MySQL、MongoDB、PostgreSQLをサポート)、Kafkaへのデータ統合、LoRaWAN対応、EMQXモニタリング、Kubernetesデプロイメントなどをサポートしています。最大100万の同時MQTT接続に対応可能です。
- EMQX Cloud:EMQX Cloudは完全マネージド型のMQTTクラウドサービスであり、EMQがインフラのデプロイ、メンテナンス、スケーリング、アップグレードのすべてを管理します。世界初の完全マネージドMQTT 5.0パブリッククラウドサービスとして、EMQX Cloudはワンストップの運用・保守コロケーションとMQTTサービスのためのユニークなアイソレーテッド環境を提供します。IoT時代において、EMQX Cloudは業界向けアプリケーションの迅速な構築とIoTデータの収集、伝送、計算、パーシステンスを容易に実現します。
WebSocketとは何ですか?いつEMQXへの接続にWebSocketを使うべきですか?
WebSocketはフルデュプレックス通信プロトコルであり、モダンなウェブブラウザがサポートするAPIです。ユーザーはWebSocket APIを使って、ウェブブラウザとサーバー間に双方向通信チャネルを作成できます。WebSocket接続を通じて、サーバーはリアルタイムでブラウザにメッセージをプッシュできます。
EMQXはMQTT over WebSocketをサポートしており、ユーザーはウェブブラウザや生のTCP接続が利用できない環境から直接MQTTトピックのパブリッシュやサブスクライブが可能です。
MQTT over WebSocketの動作や設定方法の詳細については、MQTT over WebSocketをご参照ください。
EMQXはどのように高い同時接続数と高可用性を実現していますか?
高い同時接続数と高可用性はEMQXの設計目標です。これらを達成するために、以下の技術を採用しています。
- ソフトリアルタイム、高同時接続、フォールトトレラントなErlang/OTPプラットフォームの最大活用
- 完全非同期アーキテクチャ
- 接続、セッション、ルート、クラスターの階層化設計
- メッセージングとコントロールパネルの分離
これらの設計と実装により、単一のEMQXノードで最大500万接続を処理可能です。
EMQXはクラスターをサポートしており、クラスター内のノード数を増やすことでパフォーマンスをスケールアウトできます。また、単一ノードがダウンしてもMQTTサービスは中断されません。
EMQXはメッセージをサブスクライバーに転送する際に元の順序を保証しますか?
EMQXは同一クライアントから同一トピックのメッセージについて、QoSレベルに関わらず受信した順序で転送することを保証します。メッセージの損失や重複があっても、MQTTの要件に従い転送順序は一貫しています。
ただし、異なるトピック間のメッセージ転送順序は保証しません。これらのメッセージは別々のチャネルに入ると考えられます。例えば、トピックAのメッセージがトピックBのメッセージより先にEMQXに到着しても、トピックBのメッセージが先に転送される可能性があります。