GCP入門:Cloud Pub/Subについて

スポンサーリンク
GCP入門:Cloud Pub/Subについて 用語解説
GCP入門:Cloud Pub/Subについて
この記事は約5分で読めます。
よっしー
よっしー

こんにちは。よっしーです(^^)

今日は、Cloud Pub/Subについて解説しています。

スポンサーリンク

背景

Cloud Pub/Subについて調査する機会がありましたので、その時の内容を備忘として記事に残しました。

Cloud Pub/Subとは

Cloud Pub/Subは、Google Cloud Platformが提供するフルマネージドな非同期メッセージングサービスです。以下にCloud Pub/Subの主な特徴と機能をまとめます:

  1. 基本概念
  • トピック:メッセージを公開する宛先
  • サブスクリプション:トピックからメッセージを受信する経路
  • パブリッシャー:メッセージを発行するクライアント
  • サブスクライバー:メッセージを受信するクライアント
  1. 主な特徴
  • グローバルに分散したインフラストラクチャ
  • リアルタイムメッセージング
  • 高いスケーラビリティ(数百万のメッセージ/秒)
  • 低レイテンシー(通常100ms以下)
  • 少なくとも1回の配信保証
  1. 配信モード
  • プル:サブスクライバーがメッセージを要求
  • プッシュ:Pub/Subがサブスクライバーにメッセージを送信
  1. メッセージの保持
  • 最大7日間のメッセージ保持
  • 設定可能な保持期間
  1. セキュリティ
  • IAMによるアクセス制御
  • 転送中および保存中の暗号化
  • VPCサービスコントロールとの統合
  1. 順序保証
  • オプションの順序付きメッセージング
  1. フィルタリング
  • サブスクリプションレベルでのメッセージフィルタリング
  1. デッドレターキュー
  • 配信できないメッセージの処理
  1. スナップショット
  • トピックの特定時点のスナップショット作成と復元
  1. 監視とロギング
    • Cloud Monitoringとの統合
    • 詳細なログ記録
  2. クライアントライブラリ
    • 多数のプログラミング言語をサポート
  3. 料金
    • メッセージ量とデータ転送量に基づく課金

Cloud Pub/Subは、マイクロサービスアーキテクチャ、IoTデータ処理、ストリームアナリティクス、イベント駆動型システムなど、様々なユースケースに適しています。

ユースケース

Cloud Pub/Subの主要なユースケースをいくつか紹介します:

  1. マイクロサービスの非同期通信
  • 例:Eコマースプラットフォーム
  • 実践:
    • 注文サービスが注文イベントを発行
    • 在庫、配送、請求サービスがイベントをサブスクライブして処理
  1. IoTデータ処理
  • 例:スマートホームデバイス管理
  • 実践:
    • デバイスがセンサーデータをPub/Subに送信
    • 分析サービスがデータを処理し、異常を検出
  1. リアルタイムアナリティクス
  • 例:金融取引監視システム
  • 実践:
    • 取引データをPub/Subに送信
    • ストリーム処理エンジンがデータを分析し、不正を検出
  1. ログ集約と処理
  • 例:分散システムのログ管理
  • 実践:
    • アプリケーションがログをPub/Subに送信
    • ログ処理サービスがデータを集約し、分析
  1. モバイルアプリのプッシュ通知
  • 例:ニュースアプリ
  • 実践:
    • コンテンツ管理システムが新記事をPub/Subに公開
    • 通知サービスがメッセージを受信し、ユーザーに配信
  1. イベント駆動型アーキテクチャ
  • 例:オンラインゲームプラットフォーム
  • 実践:
    • ゲームイベント(レベルアップ、アチーブメントなど)をPub/Subに発行
    • 各サービス(リーダーボード、報酬システムなど)がイベントを処理
  1. ETL(抽出、変換、ロード)パイプライン
  • 例:データウェアハウス更新
  • 実践:
    • ソースシステムがデータ変更をPub/Subに発行
    • ETLサービスがデータを変換し、データウェアハウスに格納
  1. クロスリージョンデータレプリケーション
  • 例:グローバルアプリケーションのデータ同期
  • 実践:
    • プライマリリージョンがデータ変更をPub/Subに発行
    • セカンダリリージョンがメッセージを受信し、データを同期
  1. 負荷分散とスケーリング
  • 例:画像処理サービス
  • 実践:
    • アップロードサービスが処理タスクをPub/Subに発行
    • 複数のワーカーがタスクを受信し、並列処理
  1. バッチ処理のトリガー
    • 例:日次レポート生成
    • 実践:
    • スケジューラーがトリガーイベントをPub/Subに発行
    • レポート生成サービスがイベントを受信し、処理を開始
  2. A/Bテスティング
    • 例:ウェブサイトの機能テスト
    • 実践:
    • ユーザーアクションをPub/Subに送信
    • 分析サービスがリアルタイムでデータを処理し、結果を評価
  3. 障害復旧とバックアップ
    • 例:クリティカルシステムのバックアップ
    • 実践:
    • システムが定期的にバックアップイベントをPub/Subに発行
    • バックアップサービスがイベントを受信し、データをバックアップ

これらのユースケースは、Cloud Pub/Subの柔軟性と拡張性を活用し、様々なシナリオで効果的なメッセージング・イベント駆動型システムを構築できることを示しています。

おわりに

今日は、 Cloud Pub/Subについて解説しました。

よっしー
よっしー

何か質問や相談があれば、コメントをお願いします。また、エンジニア案件の相談にも随時対応していますので、お気軽にお問い合わせください。

それでは、また明日お会いしましょう(^^)

コメント

タイトルとURLをコピーしました