【あっともすとわんすはいしん】

At Most Once配信 とは?

💡 「届くか届かないかはご縁次第」の最軽量配信モード
📌 このページのポイント
3つの配信保証レベルの比較 At Most Once (最大1回) At Least Once (最低1回) Exactly Once (ちょうど1回) 送信 送信 送信 消失の可能性 ✕ 未着 重複あり 受信×2 受信×1 重複なし・消失なし(コスト大) 信頼性: At Most Once < At Least Once < Exactly Once / 処理コスト: 逆順
At Most Once配信:3つの配信保証レベルの違いと特徴
ひよこ ひよこ

At Most Onceって何?最大1回ってどういう意味なの?

ペンギン先生 ペンギン先生

メッセージキューでのメッセージ配信の保証レベルの話だよ。At Most Onceは「最大でも1回しか配信しない」という意味で、重複して届くことはないけど、何らかの障害で届かない可能性もあるという方式なんだ。

ひよこ ひよこ

届かないこともあるなんて、信頼性が低そうだね…

ペンギン先生 ペンギン先生

信頼性は低いけど、その分処理が軽くて速いんだよ。送信側は「送ったら終わり」で確認も再送もしないから、オーバーヘッドが最小限なんだ。ログ収集や監視データの送信など、多少消えても問題ない場面に向いているよ。

ひよこ ひよこ

他にも配信保証の種類があるの?

ペンギン先生 ペンギン先生

3つあるんだ。At Most Once(最大1回)、At Least Once(最低1回)、Exactly Once(ちょうど1回)だよ。At Least Onceは必ず届くけど重複する可能性があって、Exactly Onceは重複も消失もなく理想的だけど実装が一番重たいんだ。

ひよこ ひよこ

じゃあExactly Onceがいつも一番いいの?

ペンギン先生 ペンギン先生

システムの要件によるよ。Exactly Onceは保証が強い反面、実装コストやレイテンシが増える。金融取引や注文処理のように「絶対に重複したら困る」場面はExactly Once、センサーデータのような「多少消えてもいい」場面はAt Most Onceが合理的な選択なんだ。

ひよこ ひよこ

MQTTっていうプロトコルでもこの言葉を見たよ!

ペンギン先生 ペンギン先生

よく知っているね!MQTTではQoS 0がAt Most Once、QoS 1がAt Least Once、QoS 2がExactly Onceに対応しているんだよ。IoTデバイスがサーバーにデータを送るときにどの保証レベルを使うか選べる仕組みになっているんだ。

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「At Most Once配信」って出てきたら「重複はないが消えることがある最軽量の配信保証」と思えればだいたいOK!
📖 おまけ:英語の意味
「At Most Once Delivery」 = 最大1回配信
💬 「多くとも1回(At Most Once)」という意味で、重複しないことを保証する代わりに消失を許容する配信モデルだよ。
← 用語集にもどる