@techreport{oai:ipsj.ixsq.nii.ac.jp:00226766,
 author = {岡田, 和也 and 阿部, 博},
 issue = {2},
 month = {Jun},
 note = {IoT デバイスの普及に伴い,デバイスが生成するデータをリアルタイムに処理・蓄積・解析する大規模データ処理基盤が重要になっている.現在,多くの大規模データ処理基盤にてデバイスからのデータ収集に Publisher/Subscriber(Pub/Sub)方式のプロトコルである MQTT が広く採用されている.MQTT のクライアント,ブローカの実装は商用・オープンソースともに複数存在しており,主要なパブリッククラウドにおいても各種 MQTT サービスが展開されている.一方で,MQTT においてデータを中継するブローカの構成,処理性能,耐障害性は実装よってさまざまである.基盤構築時には,用途,単位時間あたりのメッセージ数などに応じて実装を選択することが肝要である.例えば代表的なブローカー実装の一つである Mosquitto では,ブローカーインスタンス間の冗長構成が取れない.そのため,障害発生時にはメッセージが失われてしまう.本報告では,Mosquitto ブローカーにストリーム処理基盤の一つである Apache Kafka クラスタを組み合わせることによる耐障害性の向上について報告する.評価では.AWS 上に構築した実験環境を用いて,Apache Kafka を用いない場合と用いる場合でのメッセージ処理数の差,エンドツーエンドでの遅延の分布・違い,ブローカーでの障害発生時の動作を評価した.評価の結果,Apache Kafka を用いることで AWS 上の EC2 インスタンス 3 台で 99,000 クライアントからのメッセージを処理し,ブローカーインスタンスの障害発生時にもメッセージを損失することなく転送できることを確認した.},
 title = {Apache Kafkaを用いたMQTTブローカーの耐障害性向上と性能評価},
 year = {2023}
}