PUBLIC
CLOUDメッセージキュー6 MIN READ

TERM 023

Message Queue

処理の依頼をためて、送り手と受け手を分離する

Message Queueは、送り手が処理依頼をメッセージとしてキューへ置き、受け手が自分の速度で取り出す非同期通信の仕組みです。瞬間的な負荷差や一時障害を吸収します。

01ENQUEUE依頼を預ける
02BUFFER順番を待つ
03ACK処理して完了を通知
OVERVIEW

処理の依頼を一時的に蓄え、非同期に受け渡す仕組みの全体像。

CONTENTSこの記事の目次

QUICK OVERVIEW

30秒でつかむ

01PRODUCER

依頼を作る側

受け手の稼働状況を待たず、キューへ処理を渡します。

02CONSUMER

処理する側

自分の処理能力に合わせてメッセージを取得します。

03ACK

完了確認

成功を確認してからメッセージを削除します。

01 — DEFINITION

Message Queueとは
何か

Message Queueは、送り手が処理依頼をメッセージとしてキューへ置き、受け手が自分の速度で取り出す非同期通信の仕組みです。瞬間的な負荷差や一時障害を吸収します。

02 — HOW IT WORKS

仕組みを
3段階で見る

細部へ入る前に、入力から結果までの役割を順番に捉えます。

INPUTPROCESSOUTPUT
01ENQUEUE

依頼を預ける

Producerが必要な情報をメッセージにして保存する。

02BUFFER

順番を待つ

Consumerが処理できるまで耐久的に保持する。

03ACK

処理して完了を通知

成功時に確認し、失敗時は再配信または隔離する。

PROCESS

Message Queueを理解するときの、最小の処理単位です。

03 — ESSENTIALS

押さえるべき
3つの要点

名前だけでなく、この3点の関係まで理解すると実装へつなげやすくなります。

01PRODUCER

依頼を作る側

受け手の稼働状況を待たず、キューへ処理を渡します。

02CONSUMER

処理する側

自分の処理能力に合わせてメッセージを取得します。

03ACK

完了確認

成功を確認してからメッセージを削除します。

04 — REAL WORLD EXAMPLE

注文後のメール送信を分離する

注文APIがメール送信まで待つと、外部サービスの遅さが応答へ影響します。

SCENARIO / MESSAGE QUEUESTEP BY STEP
  1. 01

    注文確定と同時にメール依頼をキューへ置く

  2. 02

    APIは受付完了を先に返す

  3. 03

    Workerが依頼を取り出しメールを送る

RESULTメール側の一時障害を再試行でき、注文APIの応答時間も安定します。

05 — WATCH OUT

理解するときの
注意点

便利な仕組みほど、守備範囲と失敗の前提を明確にします。

01

重複処理を前提にする

同じメッセージが再配信されても壊れない冪等な処理にします。

02

失敗を無限再試行しない

回数上限とデッドレターキューを設け、原因を調査できるようにします。

IN ONE SENTENCE

Message Queueとは?

処理の依頼を一時的に蓄え、非同期に受け渡す仕組み

KEEP EXPLORING

CLOUDPub / Sub掲載中WEBWebhook掲載中CLOUDServerless掲載中