Apa yang bisa kami bantu?

A. Pendahuluan

RabbitMQ adalah message broker sumber terbuka yang populer, ditulis menggunakan bahasa pemrograman Erlang. RabbitMQ berfungsi sebagai perantara antar aplikasi (sender dan receiver) untuk berkirim pesan secara asinkron. RabbitMQ sangat berguna dalam arsitektur microservices untuk menangani antrean tugas (queuing) agar beban kerja server tetap stabil.

 

B. Langkah-Langkah Instalasi

1. Konfigurasi Hostname

Tambahkan IP Address dan hostname di file /etc/hosts agar resolusi nama lokal berjalan lancar.

sudo nano /etc/hosts

Tambahkan baris berikut di bagian bawah (sesuaikan dengan IP server Anda):
127.0.0.1  nama-server-anda

Gambar 1. Konfigurasi hostname

 

2. Instalasi Dependensi (Erlang & RabbitMQ)

Di Ubuntu 24.04, cara termudah dan paling stabil adalah menggunakan script instalasi resmi dari Cloudsmith agar mendapatkan versi terbaru.

Update System:

sudo apt update && sudo apt upgrade -y

 

Instalasi Erlang & RabbitMQ:
Jalankan perintah di bawah ini untuk menginstal dependensi yang dibutuhkan:

sudo apt install -y curl gnupg apt-transport-https
Gambar 2. Install Erlang & RabbitMQ

 

Unduh dan jalankan script otomatis dari Team RabbitMQ untuk menambahkan repository terbaru:

curl -s https://setup.cloudsmith.io/rabbitmq/rabbitmq-server/setup.deb.sh | sudo bash
Gambar 3. curl script untuk menambahkan repository terbaru

 

Setelah repository ditambahkan, instal RabbitMQ server:

sudo apt update
sudo apt install -y erlang rabbitmq-server
Gambar 4. Install RabbitMQ server

 

3. Mengaktifkan Dashboard Management

RabbitMQ memiliki dashboard berbasis web untuk memantau antrean.

sudo rabbitmq-plugins enable rabbitmq_management
Gambar 5. Enable dashboard management


5. Membuat User Admin

Secara default, user guest hanya bisa login dari localhost. Buat user admin baru untuk akses remote:

# Ganti 'PasswordAnda' dengan password yang kuat
sudo rabbitmqctl add_user admin PasswordAnda
sudo rabbitmqctl set_user_tags admin administrator
sudo rabbitmqctl set_permissions -p / admin ".*" ".*" ".*"
Gambar 6. membuat user admin

 

Akses dashboard melalui browser: http://IP_ADDRESS:15672

Gambar 7. Akses dashboard RabbitMQ

 

Gambar 8. Tampilan dashboard RabbitMQ

 

C. Pengetesan Menggunakan PHP

1. Instalasi PHP & Composer

sudo apt install -y php php-mbstring php-bcmath php-xml php-curl composer
Gambar 9. Install php dan composer

 

2. Setup Folder Projek

mkdir ~/Queuing && cd ~/Queuing
composer require php-amqplib/php-amqplib
Gambar 10. Setup folder proyek

 

3. Membuat File Publisher

File ini berfungsi mengirimkan pesan ke antrean.

nano publisher.php

 

Isi dengan kode berikut:

<?php
require_once __DIR__ . '/vendor/autoload.php';
use PhpAmqpLib\Connection\AMQPStreamConnection;
use PhpAmqpLib\Message\AMQPMessage;
$connection = new AMQPStreamConnection('localhost', 5672, 'admin', 'PasswordAnda');
$channel = $connection->channel();
$channel->queue_declare('task_queue', false, true, false, false);
for ($i = 0; $i < 10; $i++) {
   $data = "Pesan ke-$i";
   $msg = new AMQPMessage($data, array('delivery_mode' => AMQPMessage::DELIVERY_MODE_PERSISTENT));
   $channel->basic_publish($msg, '', 'task_queue');
   echo " [x] Sent $data\n";
}
$channel->close();
$connection->close();
Gambar 11. Isi file publisher.php

 

4. Membuat File Worker (Receiver)

File ini akan mengambil dan memproses pesan dari antrean.

nano worker.php


Isi dengan kode berikut:

<?php
require_once __DIR__ . '/vendor/autoload.php';
use PhpAmqpLib\Connection\AMQPStreamConnection;
$connection = new AMQPStreamConnection('localhost', 5672, 'admin', 'PasswordAnda');
$channel = $connection->channel();
$channel->queue_declare('task_queue', false, true, false, false);
echo " [*] Menunggu pesan. Tekan CTRL+C untuk keluar\n";
$callback = function ($msg) {
   echo ' [x] Diterima: ', $msg->body, "\n";
   sleep(2); // Simulasi proses berat
   echo " [x] Selesai\n";
   $msg->ack();
};
$channel->basic_qos(null, 1, null);
$channel->basic_consume('task_queue', '', false, false, false, false, $callback);
while ($channel->is_consuming()) {
   $channel->wait();
}
Gambar 12. Isi file worker.php

 

5. Jalankan Pengetesan

  • Buka terminal 1, jalankan publisher untuk mengisi antrean: php publisher.php
Gambar 13. running publisher.php

 

  • Cek dashboard atau gunakan perintah: sudo rabbitmqctl list_queues
Gambar 14. Pengecekan pada dashboard setelah menjalankan publisher.php

 

Gambar 15. Pengecekan pada CLI setelah menjalankan publisher.php

 

  • Buka terminal 2, jalankan worker untuk memproses antrean: php worker.php
     
Gambar 16. running worker.php

 

Gambar 17. Pengecekan pada dashboard setelah menjalankan worker.php

 

D. Penutup

Selamat! Anda telah berhasil menginstal RabbitMQ di Ubuntu 24.04 dan melakukan simulasi antrean pesan. Dengan RabbitMQ, aplikasi Anda sekarang dapat berkomunikasi secara lebih efisien dan terukur.


Semoga artikel ini dapat membantu Anda. Temukan bantuan lainnya melalui Knowledge Base Biznet Gio. Jika Anda masih memiliki kendala silakan hubungi Support Biznet GIO melalui email support@biznetgio.com atau live chat maupun WA ke website www.biznetgio.com dan bisa juga melalui telepon ke nomor (021) 5714567.