Konfigurasi RabbitMQ untuk Message Broker

Subscribe Dengan Account Google Untuk Membaca Artikel Tanpa Iklan
Konfigurasi RabbitMQ untuk Message Broker

Sebelum kita berbicara tentang RabbitMQ. Mari kita sedikit membahas tentang Message Broker. Apa itu Message Broker? Message Broker adalah program perantara yang mengatur pesan yang dikirimkan oleh pengirim (sender/producer/publisher) kepada penerima (receiver/consumer/subscriber).

Kapan dan kenapa kita harus mengimplementasikan Messaging Queue?


Ketika kita ingin membuat system yang scalable. Misal system kita sebuah ecommerce yang memiliki fitur kirim sms/email pemberitahuan setelah user order suatu barang, maka proses tersebut bisa menghemat waktu respon ke user dengan tanpa harus menunggu selesainya kirim sms/email.

Cukup kita kirimkan pesan tugas kirim email ke antrian pesan di message broker, maka oleh message broker akan mengirimkannya ke receiver, dan receiver yang akan melakukan tugas kirim email.

Hal tersebut dikerjakan secara background tanpa harus menunggu selesai terlebih dahulu dan untuk receivernya bisa ada banyak. Jadi penggunaan RabbitMQ ini cocok apabila kita ingin membuat system yang scalable.

RabbitMQ merupakan salah satu dari sekian banyak Message Broker. Bisa kita analogikan sebagai kantor pos. Ketika kita ingin mengirim surat, kita memasukkan surat tersebut kedalam kotak pos.

Dari kotak pos surat akan diproses terlebih dahulu di kantor pos untuk difilter dan disortir sesuai dengan wilayah atau daerah penerima surat. Dan selanjutnya pihak kantor pos akan menugaskan tukang pos untuk mengirimkan surat tersebut kepada penerima.

Nah dalam analogi ini, RabbitMQ adalah kotak pos, kantor pos, dan tukang pos. Yang bertugas menerima pesan, mengatur pesan untuk dikirimkan kemana, sekaligus mengirimkannya ke penerima.

1) Instalasi RabbitMQ Server


untuk instalasi RabbitMQ Server kamu bisa membaca panduan instalasinya di website resminya RabbitMQ

2) Konfigurasi RabbitMQ


pada bahasa python RabbitMQ akan di sandingkan dengan Celery. untuk menggunakan celery kita butuh membuat sebuah RabbitMQ user, buat sebuah virtual host dan izinkan user untuk mengakses virtual host tersebut.
sudo rabbitmqctl add_user myuser mypassword
sudo rabbitmqctl add_vhost myvhost
sudo rabbitmqctl set_user_tags myuser mytag
sudo rabbitmqctl set_permissions -p myvhost myuser ".*" ".*" ".*"

untuk lebih lengkapnya tentang konfigurasi RabbitMQ baca di sini


3) Konfigurasi sistem hostname


jika kamu menggunakan DHCP server akan mendapati sistem hostname yang random. untuk menggunakan RabbitMQ kamu membuat satu hostname yang permanen.

Gunakan scutill command untuk membuat hostname mejadi permanent

sudo scutil --set HostName myhost.local

kemudian tambahkan hostname di /etc/hosts
127.0.0.1       localhost myhost myhost.local

kemudian cek konfigurasi RabbitMQ 
sudo rabbitmqctl status

rabbitmq halovina


 

4) Start/Stop RabbitMQ Server


start server
sudo rabbitmq-server

untuk menjalankan RabbitMQ server di background tambahkan perintah -detached
sudo rabbitmq-server -detached

stop server
sudo rabbitmqctl stop

 

Baca juga artikel lainya :