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.
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
- Publisher mengirim pesan ke topic.
- Satu atau lebih subscription terhubung ke topic.
- Subscriber menarik (pull) atau menerima (push) pesan.
- 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
2. Buat Subscription
gcloud pubsub subscriptions create my-subscription --topic=my-topic
3. Publikasikan Pesan
gcloud pubsub topics publish my-topic --message="Hello, world!"
4. Tarik Pesan
gcloud pubsub subscriptions pull my-subscription --auto-ack
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)
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:
-
Frontend: Publish JSON ke topic
pageviews -
Pub/Sub: Kirim event ke subscription
analytics-service - Backend Subscriber: Pull pesan, proses, tulis ke BigQuery
- 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)