Menggunakan Google Cloud Pub/Sub dalam Go: Panduan Lengkap

王林
Lepaskan: 2023-06-17 12:10:40
asal
1466 orang telah melayarinya

Dengan peningkatan pengkomputeran awan, semakin banyak perusahaan dan pembangun mula menggunakan perkhidmatan awan untuk membina aplikasi. Dalam perkhidmatan awan ini, Message Queue digunakan secara meluas untuk membantu menghantar dan memproses sejumlah besar data. Google Cloud Pub/Sub ialah perkhidmatan pemesejan yang cekap, boleh dipercayai dan mudah digunakan untuk pelbagai aplikasi yang dibangunkan di Google Cloud Platform. Artikel ini akan memperkenalkan cara menggunakan Google Cloud Pub/Sub dalam bahasa Go.

Ikhtisar Google Cloud Pub/Sub

Google Cloud Pub/Sub ialah perkhidmatan pemesejan terurus sepenuhnya yang direka untuk memberi anda perkara yang anda perlukan untuk membina aplikasi masa nyata dan boleh dipercayai pada infrastruktur Google Cloud. Ia ialah model terbitkan/langganan yang membolehkan anda menghantar mesej antara penerbitan dan langganan. Google Cloud mengendalikan semua penghantaran dan pengurusan mesej untuk anda di latar belakang, anda hanya perlu menghubungi API untuk menghantar dan menerima mesej.

Menggunakan Google Cloud Pub/Sub dalam bahasa Go

Menggunakan Google Cloud Pub/Sub dalam bahasa Go memerlukan melengkapkan tiga langkah berikut:

  1. Buat Google Cloud Pub /Sub projek dan sediakan kebenaran
  2. Buat topik dan langgan menggunakan Google Cloud Pub/Sub API
  3. Hantar dan terima mesej menggunakan perpustakaan Google Cloud Pub/Sub dalam bahasa Go

Langkah pertama: Buat projek Google Cloud Pub/Sub dan tetapkan kebenaran

Buat projek dalam Google Cloud Console, pilih akaun berbayar untuk membayar dan dayakan Cloud Pub/Sub API. Seterusnya, buat akaun perkhidmatan dan tetapkan peranannya kepada "Pentadbir Pub/Sub" dan "Penerbit Pub/Sub." Anda juga perlu membuat kunci untuk pengesahan akaun perkhidmatan apabila menggunakan Google Cloud Pub/Sub dalam Go.

Langkah 2: Gunakan API Google Cloud Pub/Sub untuk membuat topik dan melanggan

Gunakan konsol atau API Google Cloud Pub/Sub untuk membuat topik dan langganan. Topik mewakili pengirim atau penerbit yang mesej boleh dihantar. Langganan mewakili penerima, atau pelanggan, yang boleh menerima mesej daripada topik. Topik dan langganan dikenal pasti dengan nama unik dan boleh digunakan di mana-mana dalam projek Google Cloud yang sama. Anda boleh membuat dan mengurus topik dan langganan dengan mudah menggunakan perpustakaan pelanggan Google Cloud. Dalam Go, anda boleh menggunakan pustaka Google Cloud Pub/Sub untuk membuat topik dan langganan.

Langkah 3: Gunakan pustaka Google Cloud Pub/Sub dalam bahasa Go untuk menghantar dan menerima mesej

Dalam projek Go anda, gunakan pustaka Google Cloud Pub/Sub untuk menghantar dan menerima mesej . Sebelum menghantar mesej, buat PublishRequest dan tetapkan nama dan mesej langganan. Kaedah Terbitkan menghantar mesej kepada topik yang dilanggan. Sebelum menerima mesej, buat Langganan dan gunakan kaedah Terima untuk menunggu mesej daripada topik. Akhir sekali, kaedah Decode dipanggil untuk menyahkod mesej yang diterima. Berikut ialah kod contoh Go untuk menghantar dan menerima mesej:

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)
    }
}
Salin selepas log masuk

Kesimpulan

Google Cloud Pub/Sub ialah perkhidmatan pemesejan yang cekap, boleh dipercayai dan mudah digunakan untuk dijalankan pada Google Cloud Platform Pelbagai aplikasi yang dibina di atas. Menggunakan Google Cloud Pub/Sub dalam bahasa Go memerlukan tiga langkah: membuat projek Google Cloud Pub/Sub dan menyediakan kebenaran, menggunakan API Google Cloud Pub/Sub untuk membuat topik dan langganan dan menggunakan Google Cloud Pub/Sub in bahasa Go Pustaka menghantar dan menerima mesej. Menggunakan Google Cloud Pub/Sub boleh memudahkan pemesejan dan menjadikan aplikasi anda lebih dipercayai dan cekap.

Atas ialah kandungan terperinci Menggunakan Google Cloud Pub/Sub dalam Go: Panduan Lengkap. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!