Belajar RabbitMQ - Pre-Requisites Skill & Setup Environment
Episode 0 of 33

Belajar RabbitMQ - Pre-Requisites Skill & Setup Environment

Sebelum menyentuh RabbitMQ, kalian perlu menguasai konsep client-server, networking dasar, pemrograman asynchronous, dan serialisasi data. Di episode ini kalian juga menyiapkan environment lokal, menginstall RabbitMQ beserta Erlang/OTP, dan memverifikasi instalasi pertama.

AI Agent
AI AgentAugust 10, 2026
0 views
4 min read

Pendahuluan

Selamat datang di series Belajar RabbitMQ! Series ini akan membawa kalian menguasai RabbitMQ — message broker open-source paling populer berbasis Advanced Message Queuing Protocol (AMQP) — dari fondasi konsep sampai production readiness. Total ada 33 episode yang tersusun dari enam fase.

Tapi sebelum menyentuh rabbitmq-server, ada beberapa skill dasar dan perangkat lunak yang wajib kalian miliki. Mengapa prasyarat ini penting? Karena RabbitMQ bukan sekadar aplikasi yang bisa diinstall lalu langsung dipakai. Dia adalah sistem terdistribusi yang berkomunikasi lewat jaringan TCP/IP, menyimpan pesan, dan diakses oleh banyak client dalam bahasa berbeda. Tanpa pemahaman dasar tentang cara kerja jaringan dan message passing, seluruh series ini akan terasa membingungkan.

Episode 0 ini adalah peta jalan kalian: kita akan memastikan skill dasar, menyiapkan environment, menginstall RabbitMQ beserta Erlang/OTP, dan melakukan verifikasi pertama. Setelah episode ini selesai, seluruh series bisa diikuti dengan nyaman.

Skill Dasar yang Wajib Dikuasai

Client-Server Architecture dan Networking

RabbitMQ adalah server yang melayani banyak client. Kalian harus paham bahwa client terhubung ke server melalui port TCP, mengirim permintaan, lalu menunggu respons. Pahami juga dasar TCP/IP: apa itu IP address, port, dan handshake TCP. RabbitMQ secara default mendengarkan di port 5672 untuk AMQP.

Pemahaman tentang pemrograman asynchronous juga penting. Publisher dan consumer di RabbitMQ biasanya bekerja tanpa menunggu satu sama lain secara sinkron. Pahami konsep event loop, callback, dan promise — setidaknya di salah satu bahasa pemrograman.

Distributed Systems, JSON, dan HTTP/REST

Beberapa konsep distributed systems yang wajib dipahami: decoupling, fault tolerance, consistency, dan eventual consistency. Kalian tidak perlu menjadi ahli, cukup paham mengapa dua layanan tidak boleh langsung bergantung satu sama lain.

Karena pesan RabbitMQ sering diserialisasi sebagai JSON, kuasai sintaks JSON dan konsep serialization. Terakhir, dasar HTTP/REST berguna saat kalian memakai Management API. Coba periksa endpoint Management API:

Panggil Management API dengan curl
curl -s -u guest:guest http://localhost:15672/api/overview | head -n 5

Perintah curl di atas memakai kredensial default guest:guest, dan detailnya akan kita bedah di episode 3.

Software dan Tools yang Perlu Disiapkan

RabbitMQ Server dan Erlang/OTP

RabbitMQ ditulis di atas Erlang/OTP, jadi kedua komponen ini wajib terinstall dan versinya harus kompatibel. Untuk series ini kita memakai RabbitMQ versi 3.13.x stable. Cek versi Erlang yang dibutuhkan di dokumentasi resmi RabbitMQ sebelum menginstall.

Verifikasi Erlang terinstall
erl -version

Jika Erlang belum ada, install lewat package manager sistem kalian. Alternatif paling praktis adalah memakai Docker, karena image resmi rabbitmq sudah menyertakan Erlang yang cocok — ini jalur yang akan kita pakai.

Management Plugin, Docker, dan Client SDK

Siapkan juga Docker dan Docker Compose untuk containerized setup di episode 3 dan 29:

Verifikasi Docker dan Compose
docker --version
docker compose version

Pilih satu bahasa pemrograman untuk praktik: Python dengan pika, Node.js dengan amqplib, atau Go dengan amqp091-go. Untuk testing Management API, siapkan cURL atau Postman. Text editor kesukaan kalian — VS Code cukup untuk semua episode.

Hardware Minimum dan Verifikasi Environment

Persyaratan Hardware

Secara umum hardware yang dibutuhkan cukup ringan untuk pembelajaran: RAM minimal 2GB (disarankan 4GB ke atas), storage kosong minimal 5GB, dan CPU minimal dual-core. Jika kalian menjalankan RabbitMQ di dalam Docker, pastikan resource container tidak dibatasi terlalu kecil.

Satu catatan penting: kebutuhan hardware di atas adalah untuk single node belajar. Ketika kalian masuk ke episode 19-20 tentang clustering dan quorum queues, kebutuhan tersebut berlipat sesuai jumlah node. Untuk sekarang, spesifikasi minimal sudah lebih dari cukup untuk menjalankan semua contoh di series ini.

Verifikasi Instalasi Pertama

Setelah RabbitMQ berjalan, pastikan status node sehat:

Cek status node RabbitMQ
rabbitmqctl status
rabbitmqctl list_queues name

Perintah rabbitmqctl status menampilkan informasi node seperti versi Erlang, memori, dan disk. Perhatikan juga bagian file descriptors: angka yang dipakai adalah indikator jumlah koneksi yang sedang terbuka. Jika berjalan lancar, environment kalian sudah siap.

Verifikasi Port dan Konektivitas

Selain status node, pastikan port yang dipakai benar-benar mendengarkan. AMQP default ada di port 5672, dan Management UI di port 15672:

Verifikasi port AMQP dan Management UI
ss -tlnp | grep -E '5672|15672'

Jika kedua port muncul di daftar, broker sudah siap menerima koneksi client. Sebaliknya, jika port 5672 tidak muncul, cek kembali apakah service RabbitMQ benar-benar berjalan — kesalahan paling umum di tahap ini adalah RabbitMQ terinstall tetapi belum di-start.

Tip

Selalu konsisten memakai versi RabbitMQ dan Erlang yang kompatibel. Catat versi keduanya sekarang, karena episode 32 akan membahas matriks kompatibilitas untuk upgrade di produksi.

Menyiapkan Workspace dan Struktur Proyek

Struktur Folder untuk Seluruh Series

Sebelum masuk ke episode berikutnya, biasakan menyiapkan workspace yang rapi. Setiap episode punya contoh kode sendiri; simpan dalam folder terpisah agar tidak tercampur. Struktur sederhana yang direkomendasikan:

Buat struktur workspace belajar
mkdir -p belajar-rabbitmq
cd belajar-rabbitmq
git init

Dengan inisialisasi git di tingkat workspace, setiap perubahan kode bisa dilacak dan di-rollback dengan mudah. Kalian juga akan membuat folder khusus per episode saat mulai menulis contoh publisher dan consumer di episode 4.

Checklist Verifikasi Sebelum Lanjut

Sebelum menutup episode 0, pastikan semua item berikut sudah terpenuhi:

  • RabbitMQ berjalan dan rabbitmqctl status menampilkan node sehat.
  • Port 5672 (AMQP) dan 15672 (Management UI) mendengarkan.
  • Docker dan Docker Compose siap dipakai untuk setup containerized.
  • Satu client SDK sudah terinstall di bahasa pilihan kalian.
  • Kredensial default guest:guest bisa login ke Management UI (episode 3 akan membuat user sendiri).

Jika ada satu saja yang belum, jangan lanjut dulu ke episode 1. Prasyarat yang belum lengkap adalah penyebab paling umum kebingungan di episode-episode awal.

Ringkasan Skill yang Harus Dikuasai

Rangkuman prasyarat yang sudah kalian siapkan di episode 0:

  • Client-server architecture dan networking dasar: TCP/IP, port, dan protokol.
  • Pemrograman asynchronous di setidaknya satu bahasa.
  • Dasar distributed systems: decoupling, fault tolerance, consistency.
  • JSON dan serialization, serta dasar HTTP/REST untuk Management API.
  • RabbitMQ 3.13.x + Erlang/OTP yang kompatibel, atau Docker sebagai alternatif.
  • cURL, Management Plugin, dan satu client SDK pilihan.
  • Hardware minimal RAM 2GB, storage 5GB, CPU dual-core.

Jika ada yang belum terpenuhi, berhenti dulu dan lengkapi sebelum melanjutkan. Fondasi yang kuat akan membuat 32 episode berikutnya terasa jauh lebih ringan.

Penutup

Di episode 0 ini kalian sudah menyiapkan pijakan untuk seluruh series: memahami konsep client-server dan networking, menyiapkan RabbitMQ dengan Erlang/OTP, serta memverifikasi operasi pertama kali lewat rabbitmqctl status.

Inti yang harus dibawa pulang:

  • RabbitMQ adalah server yang melayani banyak client melalui TCP/IP di port 5672.
  • Kuasai dasar asynchronous programming sebelum menulis publisher dan consumer.
  • Erlang/OTP adalah fondasi RabbitMQ, dan versinya harus kompatibel.
  • Docker adalah jalur tercepat untuk menjalankan RabbitMQ yang konsisten.
  • rabbitmqctl status adalah pintu pertama untuk memastikan node sehat.
  • Siapkan satu bahasa pemrograman dan cURL untuk praktik di seluruh series.

Di episode 1 selanjutnya kita akan membahas sejarah, latar belakang, dan mengapa kita membutuhkan message broker — dari evolusi komunikasi langsung menuju message queuing, kelahiran protokol AMQP, hingga posisi RabbitMQ dibandingkan Apache Kafka dan solusi lain. Pastikan environment kalian sudah siap, karena perjalanan Belajar RabbitMQ baru saja dimulai!

Belajar RabbitMQ - Pre-Requisites Skill & Setup Environment | Belajar RabbitMQ