用語解説
Google Cloud Pub/Subとは、GCPが提供するフルマネージドのメッセージングサービスです。パブリッシャーがトピックにメッセージを送信し、サブスクライバーがサブスクリプション経由で非同期に受信する非同期メッセージングパターンを実装できます。
グローバルに低レイテンシでメッセージを配信し、少なくとも1回の配信(at-least-once)を保証します。BigQueryやDataflowと組み合わせてリアルタイムデータパイプラインの中核として使われます。
どんな場面で活用するか
- IoTデバイスからのセンサーデータをリアルタイムで収集・処理するパイプラインを構築したい場合
- マイクロサービス間の非同期通信でシステムを疎結合化したい場合
- Cloud Storageへのファイル追加イベントをトリガーに後続処理を起動したい場合
よくある誤解
「Pub/Subはメッセージの順序を保証する」は誤りです。標準のPub/Subはメッセージ順序を保証しません。順序保証が必要な場合はメッセージキーを使ったOrdering Keyオプションを有効にする必要があります。
判断のヒント
設計の注意点at-least-onceデリバリーのため、サブスクライバー側の処理は冪等性(同じメッセージを複数回処理しても結果が同一)を担保して設計しましょう。未処理メッセージが滞留するとコストが増加するため、デッドレタートピックの設定も推奨です。