Google Cloudアプリケーション統合

Pub/Subとは

グローバルスケールの非同期メッセージングサービス。Publisher がトピックにメッセージを送り、Subscriber がサブスクリプション経由で受け取るパブリッシュ・サブスクライブモデル。

プッシュ型(Pub/Sub から HTTP エンドポイントへ配信)とプル型(Subscriber 側がポーリング)の 2 種類のサブスクリプションがある。少なくとも 1 回の配信(at-least-once)が保証され、順序保証は順序付きキーを使って有効化できる。

Dataflow・Cloud Functions・Cloud Run との組み合わせでイベント駆動アーキテクチャの中核を担う。メッセージ保持期間は最大 7 日で、Lite 版はより低コストなゾーナル配信オプション。

試験での問われ方

CDL/ACE で「マイクロサービス間の疎結合」「ストリーミングデータの取り込みバッファ」のシナリオでは Pub/Sub が鉄板の選択肢。キューイング(単一コンシューマ)ではなくファンアウト(複数サブスクライバ)ができる点を押さえる。

引っかけとして at-least-once 配信のため重複受信が起こりうる(冪等な処理設計が必要)。Cloud Tasks との違いも頻出で、Cloud Tasks はタスクのスケジューリング・再試行制御が細かくできる一方、Pub/Sub はファンアウト・高スループット向けと覚える。

このサービスが登場する演習問題(7問)