Message Broker: Apa dan Mengapa penting?
Secara bahasa Message Queue atau Message Broker dapat diartikan sebagai pesan terputus. Tujuannya, memecah proses pengiriman pesan dari aplikasi kita. Terdapat beberapa platform pendukung fitur ini yakni RabbitMQ, Apache Kafka, dan ActiveMQ (JMS). Dengan fitur ini, pengiriman pesan ke user tidak lagi menjadi synchronous. Artinya pengiriman pesan tidak perlu menunggu proses sebelumnya selesai.
DAFTAR ISI
Pentingnya Message Broker
Message broker akan mengubah skema business logic menjadi ‘asynchronous process’. Sebenarnya jika kita ingin menjalankan proses bussines logic dalam aplikasi secara synchronous tidaklah akan menjadi masalah, aplikasi akan tetap berjalan selama coding kita tidak error.
Contoh Kasus
Pada artikel ini, kita akan menggunakan contoh kasus pada suatu marketplace. Gambar berikut ini menunjukkan business logic dari suatu marketplace

Proses Order terdiri Authorization, Transaction (Insert Table Order, OrderItem, etc), kemudian send email & send notification. Setiap process berjalan secara berurutan, artinya proses harus menunggu proses sebelumnya selesai. Sayangnya, send email kerap kali memakan waktu yang lama sebab send email menggunakan protokol seperti SMTP/ POP3 dan perlu memanggil service yang lain.
Untuk mengurangi response time, kita dapat memecah proses ketiga dan keempat menjadi satu proses sendiri. Dengan hal ini, waktu pemanggilan service send email dan transaction dapat terjadi dalam waktu yang sama. Artinya, setelah transaction selesai, program hanya perlu mengirim message queue ke message broker. Kemudian Subscriber akan menangkap pesan tersebut dan melanjutkan ke proses selanjutnya. Dengan hal ini, waktu response time dapat meningkat.

Message broker bukan sebatas untuk send email saja. Masih banyak implementasi lain dari fitur ini. Dengan fitur ini, repsonse time akan menjadi lebih bagus. Namun, tetaplah berhati-hati dalam memecah business logic ya. Memecah pada proses yang salah, akan menyebabkan data dalam database kita tidak reliable.
Setelah mengenal fitur ini, semoga fitur ini juga dapat bertengger di aplikasimu ya. Cara menggunakan message broker dengan RabbitMQ akan diupload di artikel berikutnya ya!
Referensi : https://www.tibco.com/reference-center/what-is-a-message-broker