
Sistem Pengumuman Masif di Dunia Digital
Di arsitektur *Backend* tradisional, komunikasi antar-sistem biasanya dilakukan secara tatap muka (Point-to-Point). Jika Sistem A ingin memberikan data ke Sistem B dan C, Sistem A harus secara eksplisit menembak API B, lalu menembak API C. Jika ada tambahan Sistem D besok, *developer* harus mengedit ulang kode Sistem A.
Masalah ini diselesaikan oleh pola desain arsitektur yang sangat elegan bernama Publish/Subscribe (Pub/Sub).
Analogi Pemancar Siaran Radio
Bayangkan sebuah stasiun Radio FM (Pusat). Stasiun radio TIDAK PERLU TAHU siapa saja yang sedang mendengarkan siarannya. Mereka tidak mendatangi rumah pendengar satu per satu. Tugas Radio hanyalah Memancarkan Suara (Publish) ke udara melalui saluran frekuensi tertentu (misal: 101.4 FM).
Di sisi lain, warga yang ingin mendengarkan berita dari radio tersebut cukup Menyetel Frekuensi (Subscribe) radionya ke 101.4 FM. Jika ada 1 juta warga menyetel frekuensi yang sama, sejuta orang itu akan mendapat beritanya secara serentak (Real-Time).
Elemen Teknis Pola Pub/Sub
Dalam dunia *Software Engineering*, arsitektur ini membutuhkan peran pihak ketiga yang bertindak sebagai "Udara/Saluran Radio" tersebut. Pihak ketiga ini disebut Message Broker (Contoh Software-nya: Redis Pub/Sub, Apache Kafka, atau Google Cloud Pub/Sub).
- Publisher (Sang Penyiar): Misalnya "Sistem Pembayaran". Saat *user* berhasil membayar, ia mengirim satu pesan: "Invoice #123 Lunas" ke saluran bernama Topic: Pesanan Sukses.
- Topic / Channel (Frekuensi FM): Wadah sementara di dalam *Message Broker* yang menampung pesan.
- Subscriber (Pendengar): Di ujung sana, ada "Sistem Email" dan "Sistem Gudang Packing" yang sudah sejak awal berlangganan (Subscribe) ke Topic: Pesanan Sukses. Saat pesan "Invoice #123 Lunas" masuk ke *Topic*, *Message Broker* akan otomatis membagikan (Push) pesan tersebut ke Gudang dan Email secara serentak.
Keuntungan Pola Pub/Sub
Pub/Sub adalah nyawa utama dari arsitektur Microservices. Keunggulan utamanya adalah Decoupling (Pelepasan Keterikatan).
Sistem Pembayaran (Publisher) tidak perlu kenal atau peduli apakah Sistem Email (Subscriber) sedang mati atau hidup. Jika besok kamu ingin menambahkan "Sistem Poin Hadiah" ke dalam ekosistem perusahanmu, kamu tidak perlu merombak Sistem Pembayaran sama sekali. Kamu cukup membuat Sistem Poin tersebut ikut men-Subscribe ke *Topic* yang sama. Sangat fleksibel untuk perusahaan skala raksasa!
Mau langsung pakai template?
Jelajahi template gratis dan premium di TampilKit untuk mempercepat proses development project kamu.
Browse Templates