アーキテクチャと設計
本セクションでは、EMQXの主要な機能の設計原則について紹介します。内容は以下の通りです。
EMQXは単一ノードでの優れたパフォーマンスを実証しており、ベンチマークテストでは数百万の接続を達成しています。しかし、信頼性と可用性を確保するためには、EMQXはクラスターを形成してスケールアウトする必要があります。本章では、MQTTブローカーのクラスタリングにおける複雑さと、EMQXがこれらの課題にどのように対応しているかを解説します。
EMQXがMQTTメッセージを永続化するために使用するストレージ階層とバックエンド設計について紹介します。
メッセージのスループットを向上させ、ネットワークの変動による影響を軽減するために、EMQXは複数の未アックのQoS 1およびQoS 2パケットを同時にネットワークリンク上に存在させることを許可しています。送信済みで未確認のパケットは、アック完了までインフライトウィンドウに格納されます。インフライトウィンドウの長さ制限に達すると、これらのパケットはメッセージキューに格納されます。本節では設計原則と関連する設定項目について説明します。
メッセージ再送はMQTTプロトコル仕様の一部です。本節では基本的な設定、プロトコル仕様、および設計について紹介します。