Tutorial RabbitMQ feat. Node JS— Message Broker Untuk Mempersingkat Proses
Tutorial singkat cara menggunakan RabbitMQ dengan Node JS
Tutorial RabbitMQ feat. Node JS— Message Broker Untuk Mempersingkat Proses
Tutorial singkat cara menggunakan RabbitMQ dengan Node JS
Hella Kars (Kiddy’s Article Readers)! Loh-loh singkatan macam apa ini?
Pada tutorial kali ini gue mau berbagi tutorial tentang cara menggunakan RabbitMQ dengan NodeJS. Hmm pasti sebelumnya pada bingung, RabbitMQ tuh apaansih?
RabbitMQ is the most widely deployed open source message broker. RabbitMQ adalah sebuah software open source yang berfungsi sebagaimessage-broker, atau kalau dalam istilah sehari-hari adalah kurir. Untuk melihat lebih detailnya, silahkan cek gambar dibawah ini.
Nah dari gambar diatas merupakan ilustrasi si kurir yang ditugaskan untuk membuat PDF. Pernah nggak lo lagi masuk ke website mana misalnya, lalu dia akan ngirim invoice? Nah proses pembuatan invoice itu bisa aja manual process atau broker process, manual process adalah process yang terjadi saat user melakukan request. Namun jeleknya adalah manual process ini akan membuat user menunggu proses tersebut, bayangkan kalau misalnya pengguna harus menunggu 10 detik? Lama banget bro!
Nah dengan broker process, kita akan memotong proses yang terjadi dengan nyuruh si kurir yang akan mengerjakan pesan tersebut, kalau diibaratkan kurir ini akan mengirimkan proses kepada sistem sehingga sistem yang akan menerima pesan. Kaya di film spongebob nih.
Si spongebob akan menerima pesan dari si kurir dan mulai mengerjakan tugasnya.
Manfaatnya apa? Tentu saja mempersingkat proses! Yang awalnya pengguna harus menunggu 10 detik untuk terproses maka kita akan langsung memotong proses tersebut dan pengguna akan mendapatkan pesan berhasil lebih cepat, pengguna juga bakalan bilang “Wah cepet banget nih!” padahal mah dibelakang sistemnya lagi kerja hehehe.
Oke yuk sama-sama kita coba belajar, untuk windows silahkan coba kutak-katik sendiri installnyadisiniatau liat google ya. Untuk Debian/Ubuntu bisa cekdisini. Kalau saya sih pakedockerjadi udah ready rabbitmq nya.
Kalo udah siap semua barangnya maka kita ready buat project baru, buat folder baru kasih namalatihan-rabbitmq-nodejs. Setelah itu kita masuk ke folder tersebut dan lakukan inisialisasi
cd latihan-rabbitmq-nodejsnpm init
Seperti biasa, enter enter aja biar cepet. Nah kalo udah kita install yang kita butuhkan.
npm install --save amqplib
Kalau udah kita akan ngebuat dua file, yang pertama beri namaproducer.js, yang kedua adalahconsumer.js. File producer.js ini akan mengirimkan pesan ke si kurir sehingga kita dapat menangkapnya dan memerintahkan sistem untuk melakukan sesuatu. File consumer.js adalah stasiun tempat kurir mengirimkan pesan, sistem akan memproses sesuai code yang kita tulis. Silahkan copy code untuk consumer.js
const amqp = require('amqplib') // Import library amqpamqp.connect('amqp://localhost').then(conn=> {return conn.createChannel().then(ch => {// Deklarasi antrianconst queue1 = ch.assertQueue('queue1', { durable: false })if(queue1){queue1.then(() =>