Message Queue

Menengah

Sistem buffer asinkron yang menyimpan pesan sementara antara aplikasi pengirim dan penerima, supaya keduanya bisa bekerja secara independen tanpa harus menunggu satu sama lain.

Apa Itu Message Queue?

Bayangkan kamu pesan makanan lewat aplikasi. Begitu kamu tap "Pesan", pesananmu langsung dikirim ke dapur. Kamu nggak perlu berdiri di depan kasir sambil nunggu chef masak. Chef juga nggak perlu tahu kamu lagi ngapain selagi dia masak. Kedua pihak bekerja di kecepatan dan waktu masing-masing, tapi pesanan tetap nyampe dan diproses dengan urutan yang benar.

Itulah analogi Message Queue. Dalam sistem software, pengirim (producer) menaruh pesan ke dalam antrian, dan penerima (consumer) mengambil dan memproses pesan itu kapan dia siap. Keduanya nggak perlu online atau siap di waktu yang bersamaan.

Komponen Utama Message Queue

KomponenPeran
ProducerAplikasi yang mengirim atau mempublikasikan pesan ke dalam queue
Queue atau TopicTempat penyimpanan sementara pesan yang menunggu diproses
ConsumerAplikasi yang membaca dan memproses pesan dari queue
BrokerServer yang mengelola queue dan memastikan pesan terkirim ke consumer
MessageUnit data yang dikirimkan, biasanya dalam format JSON atau binary

Kenapa Nggak Langsung Panggil API Saja?

Itu pertanyaan yang sering muncul. Kalau sistem A butuh kirim data ke sistem B, kenapa nggak langsung HTTP request? Beberapa alasan:

Decoupling dan reliability: Kalau sistem B lagi down, HTTP request gagal dan data bisa hilang. Dengan queue, pesan tetap tersimpan aman dan akan diproses saat B kembali online.

Rate smoothing: Misalnya ada 10.000 order masuk dalam satu menit saat flash sale. Kalau semua langsung dikirim ke sistem inventory, sistemnya bisa kelelahan. Queue bisa menyerap lonjakan dan melepasnya ke consumer sesuai kapasitas yang bisa ditangani.

Parallelisme: Satu pesan bisa diproses oleh beberapa consumer sekaligus untuk mempercepat pemrosesan, atau di-broadcast ke beberapa sistem yang berbeda secara bersamaan.

Dua Pola Utama Message Queue

Point-to-Point Queue: Satu pesan dikonsumsi oleh tepat satu consumer. Cocok untuk task distribution, misalnya setiap order diproses tepat sekali oleh salah satu worker yang tersedia.

Publish-Subscribe (Pub/Sub): Satu pesan bisa diterima oleh banyak subscriber sekaligus. Cocok untuk event broadcasting, misalnya satu event "order dibuat" dikirim ke sistem inventory, email notification, dan analytics dalam waktu yang sama.

Message Queue dalam Konteks Data Engineering

Di dunia data, message queue adalah tulang punggung streaming data pipeline. Event dari aplikasi, mulai dari klik user, transaksi, hingga log server, dikumpulkan lewat queue, lalu dikonsumsi oleh stream processing engine untuk analisis nyaris real-time atau disimpan ke data lake untuk analisis historis. Ini yang memungkinkan perusahaan punya dashboard yang update hampir real-time tanpa harus polling database produksi terus-menerus.

Lanjut Latihan

Udah paham Message Queue? Lanjut latihan SQL dan Excel yuk!

Latihan interaktif, langsung di browser.

Mulai Latihan →