ホームページ >バックエンド開発 >Golang >Go での Google Cloud Pub/Sub の使用: 完全ガイド

Go での Google Cloud Pub/Sub の使用: 完全ガイド

王林
王林オリジナル
2023-06-17 12:10:401489ブラウズ

クラウド コンピューティングの台頭により、ますます多くの企業や開発者がクラウド サービスを使用してアプリケーションを構築し始めています。これらのクラウド サービスでは、大量のデータの送信と処理を支援するために Message Queue が広く使用されています。 Google Cloud Pub/Sub は、Google Cloud Platform で開発されたさまざまなアプリケーション向けの効率的で信頼性が高く、使いやすいメッセージング サービスです。この記事ではGo言語でGoogle Cloud Pub/Subを使う方法を紹介します。

Google Cloud Pub/Sub の概要

Google Cloud Pub/Sub は、Google Cloud インフラストラクチャ上でリアルタイムで信頼性の高いアプリケーションを構築するために必要なものを提供するように設計されたフルマネージド メッセージング サービスです。 。これは、パブリケーションとサブスクリプションの間でメッセージを渡すことを可能にするパブリッシュ/サブスクライブ モデルです。 Google Cloud はすべてのメッセージの送信と管理をバックグラウンドで処理します。メッセージを送受信するには API を呼び出すだけです。

Go 言語で Google Cloud Pub/Sub を使用する

Go 言語で Google Cloud Pub/Sub を使用するには、次の 3 つの手順を完了する必要があります。

  1. Google Cloud Pub を作成する/Sub プロジェクトと承認のセットアップ
  2. Google Cloud Pub/Sub API を使用してトピックを作成し、サブスクライブします
  3. Go 言語の Google Cloud Pub/Sub ライブラリを使用してメッセージを送受信します

ステップ 1: Google Cloud Pub/Sub プロジェクトを作成して承認を設定する

Google Cloud Console でプロジェクトを作成し、支払う有料アカウントを選択して、Cloud Pub/Sub を有効にしますAPI。次に、サービス アカウントを作成し、そのロールを「Pub/Sub 管理者」と「Pub/Sub パブリッシャー」に設定します。 Go で Google Cloud Pub/Sub を使用する場合は、サービス アカウントの認証用のキーを作成する必要もあります。

ステップ 2: Google Cloud Pub/Sub API を使用してトピックを作成し、サブスクライブします。

Google Cloud Pub/Sub コンソールまたは API を使用して、トピックとサブスクリプションを作成します。トピックは、メッセージの送信先となる送信者または発行者を表します。サブスクリプションは、トピックからメッセージを受信できる受信者、つまりサブスクライバーを表します。トピックとサブスクリプションはどちらも一意の名前で識別され、同じ Google Cloud プロジェクト内のどこでも使用できます。 Google Cloud のクライアント ライブラリを使用すると、トピックとサブスクリプションを簡単に作成、管理できます。 Go では、Google Cloud Pub/Sub ライブラリを使用してトピックとサブスクリプションを作成できます。

ステップ 3: Go 言語で Google Cloud Pub/Sub ライブラリを使用してメッセージを送受信する

Go プロジェクトで、Google Cloud Pub/Sub ライブラリを使用してメッセージを送受信します。メッセージを送信する前に、PublishRequest を作成し、サブスクリプション名とメッセージを設定します。 Publish メソッドは、サブスクライブされたトピックにメッセージを送信します。メッセージを受信する前に、サブスクリプションを作成し、Receive メソッドを使用してトピックからのメッセージを待ちます。最後に、Decode メソッドを呼び出して、受信したメッセージをデコードします。メッセージを送受信するための Go サンプル コードは次のとおりです。

package main

import (
    "context"
    "fmt"

    "cloud.google.com/go/pubsub"
)

func main() {
    // Set Google Cloud credentials and project ID
    ctx := context.Background()
    projectID := "your-project-id"
    client, err := pubsub.NewClient(ctx, projectID)
    if err != nil {
        fmt.Println(err)
    }
    
    // Create topic and subscription
    topicName := "test-topic"
    subscriptionName := "test-subscription"
    topic, err := client.CreateTopic(ctx, topicName)
    if err != nil {
        fmt.Println(err)
    }
    _, err = client.CreateSubscription(ctx, subscriptionName, pubsub.SubscriptionConfig{
        Topic: topic,
    })
    if err != nil {
        fmt.Println(err)
    }

    // Send message to topic
    message := "test message"
    result := topic.Publish(ctx, &pubsub.Message{
        Data: []byte(message),
    })
    _, err = result.Get(ctx)
    if err != nil {
        fmt.Println(err)
    }

    // Receive message from subscription
    sub := client.Subscription(subscriptionName)
    err = sub.Receive(ctx, func(ctx context.Context, msg *pubsub.Message) {
        fmt.Printf("Received message: %s
", string(msg.Data))
        msg.Ack()
    })
    if err != nil {
        fmt.Println(err)
    }
}

結論

Google Cloud Pub/Sub は、Google Cloud Platform 上で実行される効率的で信頼性が高く、使いやすいメッセージング サービスです。さまざまなアプリケーションが構築されています。 Go 言語で Google Cloud Pub/Sub を使用するには、Google Cloud Pub/Sub プロジェクトの作成と認可の設定、Google Cloud Pub/Sub API を使用したトピックとサブスクリプションの作成、および Go 言語での Google Cloud Pub/Sub の使用という 3 つの手順を完了する必要があります。 Go 言語 ライブラリはメッセージを送受信します。 Google Cloud Pub/Sub を使用すると、メッセージングが大幅に簡素化され、アプリケーションの信頼性と効率が向上します。

以上がGo での Google Cloud Pub/Sub の使用: 完全ガイドの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。