Pub/Sub または Pub/Sub Lite の選択

このページでは、Pub/Sub と Pub/Sub Lite の選択に役立つ詳細情報について説明します。Pub/Sub と Pub/Sub Lite は非同期メッセージング サービスです。パブリッシュとサブスクライブのメッセージングの詳細については、Pub/Sub の概要をご覧ください。

Pub/Sub は、複数のゾーン間でメッセージを複製するフルマネージド高可用性サービスです。Pub/Sub はほとんどのユースケースに対応できます。

コストを削減するには、Pub/Sub Lite を使用できます。Pub/Sub Lite は、予測可能なトラフィック パターンを持つメッセージング システム用のゾーンサービスです。1 秒あたり 1 MiB~1 GiB のメッセージをパブリッシュする場合、Pub/Sub Lite のほうがかなり低コストになる場合があります。

Pub/Sub と Pub/Sub Lite の費用の違いについて詳しくは、Pub/Sub Lite の料金をご覧ください。

比較表

次の表は、Pub/Sub と Pub/Sub Lite の主な違いを比較しています。

機能 Pub/Sub Pub/Sub Lite
メッセージ レプリケーション 単一リージョン内のマルチゾーン シングルゾーン
容量 自動プロビジョニング 使用前にプロビジョニング
料金 使用した容量に対しての支払い プロビジョニングした容量に対しての支払い
保存 無制限 Lite トピックあたり 30 GiB~10 TiB
保持期間 最大 7 日 無制限
Service エンドポイント グローバルとリージョナル リージョン
リソースの名前空間 グローバル ゾーン
メッセージ ルーティング グローバル ゾーン

Pub/Sub

Pub/Sub システムでは、パブリッシャー アプリケーションはメッセージをトピックに送信し、サブスクライバー アプリケーションはサブスクリプションからメッセージを受信します。トピックとサブスクリプションはグローバル リソースであるため、異なる Cloud プロジェクトに存在することができます。

トピックとサブスクリプションが異なるプロジェクトに存在する場合は、異なる割り当てが適用され、パブリッシャーとサブスクライバーは別々に課金されます。 詳細については、Pub/Sub の料金をご覧ください。

Pub/Sub は自動的にスケーリングされます。任意の数のパブリッシャーとサブスクライバーが、任意の数のメッセージを送受信できます。Pub/Sub サービスは、任意のリージョンにメッセージを格納できます。

サブスクライバーは Pub/Sub からのメッセージをリクエストできます。また、Pub/Sub がリクエストを開始できます。次の Google Cloud プロダクトは、Pub/Sub からのリクエストを自動的に認証できます。

  • App Engine
  • Cloud Functions
  • Cloud Run

ストリーミング パイプライン

Apache Beam パイプラインでメッセージを読み書きするには、Dataflow ストリーミング テンプレートまたは Apache Beam SDK 用の Pub/Sub I/O を使用できます。Pub/Sub I/O は、Apache Beam SDK for JavaApache Beam SDK for Python で利用できます。

Pub/Sub Lite

Pub/Sub Lite システムでは、パブリッシャーは Lite トピックにメッセージを送信し、サブスクライバーは Lite サブスクリプションからメッセージを受信します。Lite トピックと Lite サブスクリプションは、同じ Cloud プロジェクトとゾーン内に存在する必要があるゾーンリソースです。Pub/Sub Lite がサポートするゾーンのリストについては、Pub/Sub Lite のロケーションをご覧ください。

Lite トピックはパーティションから構成されます。パーティションは、メッセージのログです。パブリッシャーは各メッセージをパーティションに割り当て、Pub/Sub Lite サービスは各メッセージをログに追加します。Pub/Sub Lite サービスは、パーティションからメッセージを順番に配信します。

サブスクライバーは Pub/Sub Lite からのメッセージをリクエストする必要があります。メッセージをリクエストするには、サブスクライバーが各パーティションとの双方向ストリーミング接続を確立します。

Lite トピックにメッセージをパブリッシュし、Lite トピックからメッセージを受信して、Lite トピックにメッセージを保存するための容量を手動でプロビジョニングします。Lite トピックを作成するときは、パーティションの数とパーティションごとのストレージを指定します。Lite トピックの容量を増やすために、パーティションの容量をスケーリングできます。

ストリーミング パイプライン

Apache Beam パイプラインでメッセージの読み取りや書き込みをするには、Apache Beam SDK のカスタム Pub/Sub Lite I/O を使用できます。Pub/Sub Lite I/O は Java クライアント ライブラリにあります。Apache Beam SDK for Java で Pub/Sub Lite I/O を使用できます。