MQTT共有サブスクリプションにおけるサブスクライバ群の状態を考慮した動的負荷分散手法

書誌事項

タイトル別名
  • A Dynamic Load Balancing Method for MQTT Shared Subscription Considering the State of a Group of Subscribers

抄録

2019 年に策定された MQTT Version5.0 の仕様には,メッセージを複数のサブスクライバで分散処理する共有サブスクリプションが追加され,MQTT を用いたデータ基盤のスケーラビリティとアベイラビリティを向上させることが可能になった.一方,現状の共有サブスクリプションにおけるサブスクライバ選択手法は実装依存になっており,多くのベンダ製品や OSS では静的負荷分散手法のみが実装されている.静的負荷分散手法では他のワークロードの影響によるサブスクライバのデータ処理性能の変化に対応することができず,結果としてワークロード全体の処理遅延が生じるリスクがある.本研究では,ブローカが接続しているサブスクライバ群の状態をリアルタイムに管理することで共有サブスクリプションにおける動的負荷分散を実現する手法を提案する.提案手法では MQTT の制御パケットを拡張し,サブスクライバのメッセージ処理の状況をブローカに随時伝達することで,保留中のメッセージ数に応じた動的負荷分散を実現する.評価では既存の静的負荷分散手法と比べてワークロード全体のレイテンシを98%削減できることを確認した.

The MQTT Version 5.0 specification, developed in 2019, adds shared subscriptions, which distribute messages among multiple subscribers to improve the scalability and availability of data infrastructure using MQTT. On the other hand, the current subscriber selection method for shared subscriptions is implementation-dependent, and many vendor products and OSS implement only static load balancing methods. Static load balancing methods cannot respond to changes in subscriber data processing performance due to the influence of other workloads, and as a result, there is a risk of processing delays for the entire workload. In this study, we propose a method to achieve dynamic load balancing for shared subscriptions by managing the state of a group o f subscribers connected to the broker in real time. Dynamic load balancing is achieved by extending MQTT control packets to transmit the status of subscriber message processing to the broker at any time, depending on the number of pending messages. The evaluation confirmed that the proposed method reduces the latency of the entire workload by 98% compared to existing static load balancing methods.

収録刊行物

キーワード

詳細情報 詳細情報について

問題の指摘

ページトップへ