コンセプト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はワンストップのO&Mコロケーションおよび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はクラスターをサポートしており、クラスター内のノード数増加に伴いEMQXのパフォーマンスはスケールアウトします。また、単一ノードのダウン時にもMQTTサービスは中断されません。
EMQXはメッセージをサブスクライバーに転送する際、元の順序を保証しますか?
EMQXは同一クライアントから同一トピックのメッセージについて、QoSレベルに関わらず受信順に転送することを保証します。メッセージの転送順序は、メッセージの損失や重複があってもMQTTの要件に従い一貫しています。
ただし、異なるトピック間のメッセージ転送順序は保証されません。これらは別々のチャネルに入るものとみなされます。例えば、トピックAのメッセージがトピックBのメッセージより先にEMQXに到着しても、トピックBのメッセージが先に転送される可能性があります。