Pub/Sub は、メッセージを生成するサービスを、それらのメッセージを処理するサービスと切り離す、非同期のスケーラブルなメッセージング サービスです。
Pub/Sub を使用すると、サービスが 100 ミリ秒程度のレイテンシで非同期に通信できます。
Pub/Sub は、ストリーミング分析と、データを読み込んで配布するためのデータ統合パイプラインに使用されます。これは、サービスの統合を目的としたメッセージング指向のミドルウェア、または、タスクを同時に読み込むキューとしても使用されます。
Pub/Sub を使用すると、イベント プロデューサー(パブリッシャー)とコンシューマー(サブスクライバー)のシステムを作成できます。パブリッシャーは、同期リモート プロシージャ コール(RPC)ではなく、イベントをブロードキャストすることによってサブスクライバーと非同期に通信します。
パブリッシャーは、イベントが処理される方法やタイミングとは無関係に、Pub/Sub サービスにイベントを送信します。その後、Pub/Sub によって、イベントに反応するすべてのサービスにイベントが配信されます。RPC を介して通信するシステムでは、パブリッシャーはサブスクライバーがデータを受信するのを待つ必要があります。ただし、Pub/Sub で非同期統合を行うと、システム全体の柔軟性と堅牢性が向上します。
Pub/Sub の使用を開始するには、 Trusted Cloud コンソールを使用したクイックスタートをご覧ください。より包括的な情報については、Pub/Sub メッセージング システムの構築をご覧ください。
一般的なユースケース
- ユーザー インタラクションとサーバー イベントの取り込み。エンドユーザー アプリからのユーザー インタラクション イベントや、システムからのサーバー イベントを利用するには、それらを Pub/Sub に転送できます。その後、ストリーム処理ツールを使用してイベントをデータベースに送信できます。Pub/Sub では、同時に多数のクライアントからイベントを収集できます。
- リアルタイムのイベント配信。イベントは、未加工か処理された状態かを問わず、チームや組織の複数のアプリケーションでリアルタイム処理のために使用できます。Pub/Sub では、「エンタープライズ イベントバス」とイベント ドリブンなアプリケーション設計パターンがサポートされます。Pub/Sub を使用すると、イベントを Pub/Sub にエクスポートする多くのシステムと連携できます。
- データベース間でデータを複製する。Pub/Sub は一般的に、データベースから変更イベントを分散するために使用されます。これらのイベントを使用して、データベースの状態と状態の履歴に関するビューを作成できます。
- 並列処理とワークフロー。Pub/Sub メッセージを使用してワーカーと通信することで、多数のタスクを複数のワーカーに効率的に分散できます。このようなタスクの例としては、テキスト ファイルの圧縮、メール通知の送信、AI モデルの評価、画像の再フォーマットなどがあります。
- エンタープライズ イベントバス。組織全体にビジネス イベント、データベース更新、分析イベントを配布する、エンタープライズ規模のリアルタイム データ共有バスを作成できます。
- アプリケーション、サービス、IoT デバイスからのデータ ストリーミング。 たとえば、SaaS アプリケーションはイベントのリアルタイム フィードを公開できます。また、人感センサーがデータを Pub/Sub にストリーミングし、データ処理 パイプラインを介して他の Trusted Cloud by S3NS プロダクトで使用することもできます。
- 分散キャッシュの更新。たとえば、アプリケーションで無効なイベントをパブリッシュし、変更されたオブジェクトの ID を更新できます。
- 負荷分散により信頼性を確保。たとえば、サービスのインスタンスを複数のゾーンの Compute Engine にデプロイし、共通のトピックにサブスクライブできます。いずれかのゾーンでサービスが失敗した場合、他のサービスがその負荷を自動的に処理できます。
次のステップ
- Pub/Sub のクイックスタートを使ってみる。
- Pub/Sub サービスの基本を確認する。
- Pub/Sub メッセージング システムを構築する方法を学習する。
- Pub/Sub の割り当てと上限について理解する。
- Pub/Sub のリリースノートを読む。