DEV Community

Cover image for Google Pub Sub: Panduan Lengkap Cloud Messaging
Walse
Walse

Posted on • Originally published at apidog.com

Google Pub Sub: Panduan Lengkap Cloud Messaging

Google Pub Sub, atau Google Cloud Pub/Sub, adalah layanan pesan real-time fully managed yang memungkinkan komunikasi asinkron antara aplikasi dan layanan independen. Dengan model publish-subscribe yang scalable dan global, Pub/Sub sangat cocok untuk arsitektur event-driven serta distribusi event dalam skala besar di cloud.

Coba Apidog hari ini

Bagi Anda yang mengembangkan microservices, pipeline analitik, atau integrasi sistem terdistribusi, memahami Pub/Sub adalah kunci dalam pengembangan cloud-native modern.

Cara Kerja Google Pub Sub: Konsep Utama dan Arsitektur

Google Pub Sub mengimplementasikan model pub/sub. Publisher mengirim pesan ke topic, sementara subscriber menerima pesan tersebut secara asinkron.

Komponen Inti Google Pub Sub

  • Topics: Tempat publisher mengirim pesan.
  • Subscriptions: Jalur distribusi pesan dari topic ke subscriber.
  • Publishers: Aplikasi yang mengirim pesan ke topic.
  • Subscribers: Layanan yang menerima pesan dari subscription.

Alur Pesan

  1. Publisher mengirim pesan ke topic.
  2. Satu atau lebih subscription terhubung ke topic.
  3. Subscriber menarik (pull) atau menerima (push) pesan.
  4. Pesan di-ack oleh subscriber (pengiriman minimal sekali).

Mode pengiriman:

  • Pull: Subscriber eksplisit menarik pesan.
  • Push: Pub/Sub mengirim pesan ke endpoint HTTP yang sudah dikonfigurasi.

Keandalan dan Skalabilitas

Pub/Sub menjamin pengiriman minimal sekali dengan penyimpanan redundan dan auto scaling hingga jutaan pesan per detik—ideal untuk big data, analytics, dan IoT.

Fitur Utama yang Membedakan Google Pub Sub

1. Fully Managed & Serverless

Tidak perlu kelola server, cluster, atau partisi. Pub/Sub otomatis scaling dan handling availability di belakang layar.

2. Ketersediaan Global

Dapat digunakan di multi-region, cocok untuk aplikasi global dan disaster recovery.

3. Fleksibilitas Mode Pengiriman

Push dan pull didukung. Pola fan-out (1 ke banyak) berjalan native.

4. Keamanan & Kepatuhan

Data terenkripsi in-transit & at-rest, kontrol akses via IAM.

5. Pengiriman Berurutan & Tepat Satu Kali (Exactly-Once Processing)

Dukungan pengurutan per key dan integrasi dengan Dataflow untuk pemrosesan exactly-once.

Menyiapkan Google Pub Sub: Step-by-Step

Langkah berikut untuk setup dan penggunaan Pub/Sub di project cloud:

1. Buat Topic

gcloud pubsub topics create my-topic
Enter fullscreen mode Exit fullscreen mode

2. Buat Subscription

gcloud pubsub subscriptions create my-subscription --topic=my-topic
Enter fullscreen mode Exit fullscreen mode

3. Publikasikan Pesan

gcloud pubsub topics publish my-topic --message="Hello, world!"
Enter fullscreen mode Exit fullscreen mode

4. Tarik Pesan

gcloud pubsub subscriptions pull my-subscription --auto-ack
Enter fullscreen mode Exit fullscreen mode

Alternatif: gunakan client library Google Cloud Pub/Sub (Java, Python, Node.js, dll) untuk integrasi langsung di kode Anda.

Contoh Kode Python:

from google.cloud import pubsub_v1

publisher = pubsub_v1.PublisherClient()
topic_path = publisher.topic_path('your-project-id', 'my-topic')
publisher.publish(topic_path, b'Hello, Pub/Sub!')

subscriber = pubsub_v1.SubscriberClient()
subscription_path = subscriber.subscription_path('your-project-id', 'my-subscription')

def callback(message):
    print(f"Diterima: {message.data}")
    message.ack()

subscriber.subscribe(subscription_path, callback=callback)
Enter fullscreen mode Exit fullscreen mode

Kasus Penggunaan Google Pub Sub

1. Event-Driven Microservices

Microservices mengirim event tanpa tahu siapa konsumen akhirnya. Pub/Sub mengurangi coupling dan meningkatkan scalability.

2. Data & Log Analytics Ingestion

Streaming log/event ke BigQuery, Dataflow, dan platform analytics melalui Pub/Sub sebagai ingestion layer.

3. IoT Data Streaming

Device IoT mempublikasi data ke topic Pub/Sub, backend process secara real-time.

4. Real-Time Notification

Kirim notifikasi real-time ke user, update dashboard, atau trigger workflow berdasarkan event masuk.

5. Workflow Orchestration

Koordinasi proses di sistem terdistribusi tanpa tight coupling dengan event Pub/Sub.

Integrasi Google Pub Sub dengan Pengembangan API

Untuk API yang berinteraksi dengan Pub/Sub, Apidog sangat membantu. Fitur yang bisa Anda manfaatkan:

  • Desain & dokumentasi API yang publish atau subscribe ke topic Pub/Sub.
  • Mock endpoint Pub/Sub untuk simulasi pesan saat development.
  • Test endpoint push HTTP agar siap menerima data dari Pub/Sub.

Integrasikan Apidog ke workflow Anda untuk mendesain, mock, dan test API yang terhubung dengan Pub/Sub. Ini mempercepat development dan meminimalkan error produksi.

Praktik Terbaik Penggunaan Google Pub Sub

1. Payload Terstruktur

Pakai format JSON atau Protobuf untuk interoperabilitas & parsing mudah.

2. Subscriber Idempoten

Pastikan subscriber bisa handle pesan duplikat (minimal once delivery = retry/pengulangan pesan).

3. Monitoring & Alerting

Pantau metrik seperti backlog, delivery latency, dan error rate via Cloud Monitoring.

4. IAM & Access Control

Gunakan role IAM secukupnya untuk publish/subscribe ke topic.

5. API-First Development

Definisikan API Pub/Sub & message schema dari awal. Apidog bisa membantu dokumentasi & kolaborasi tim.

Fitur Lanjutan: Pengurutan, Pemfilteran, Dead-Letter Topics

Pengurutan Pesan

Aktifkan pengurutan per key untuk kasus seperti transaksi keuangan agar pesan dengan key sama dikirim berurutan.

Pemfilteran Pesan

Subscription dapat memfilter pesan berdasarkan atribut. Subscriber hanya menerima data relevan.

Dead-Letter Topics

Atur topik dead-letter agar pesan gagal bisa diinspeksi/ulang proses.

Harga & Batasan Google Pub Sub

Penagihan berdasarkan data masuk/keluar. Ada tier gratis (misal: 10 GB/bulan). Kuota: ukuran pesan max 10 MB, throughput, dan jumlah topic/subscription per project. Lihat harga terbaru Pub/Sub untuk detail.

Contoh Praktis: Pipeline Analitik Real-Time dengan Pub/Sub

Studi kasus: Platform analytic web dengan event pageview dari frontend dikirim ke topic Pub/Sub. Backend subscribe, proses event, dan agregasi data ke BigQuery.

Alur:

  1. Frontend: Publish JSON ke topic pageviews
  2. Pub/Sub: Kirim event ke subscription analytics-service
  3. Backend Subscriber: Pull pesan, proses, tulis ke BigQuery
  4. Dashboard: Query BigQuery untuk metrik real-time

Gunakan Apidog untuk desain & dokumentasi endpoint API yang publish/receive event ini serta mock response untuk integrasi testing frontend-backend.

Kesimpulan: Kuasai Google Pub Sub untuk Cloud Modern

Google Pub Sub adalah pondasi event-driven architecture di cloud. Dengan managed, global, dan security-first design, Pub/Sub sangat cocok untuk messaging real-time, big data ingestion, dan komunikasi microservices.

Gabungkan dengan tools seperti Apidog untuk API design, orchestrate workflow, dan pipeline analytic yang robust, terdokumentasi, serta mudah dipelihara.

Top comments (0)