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.

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.
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.
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:
curl -s -u guest:guest http://localhost:15672/api/overview | head -n 5Perintah curl di atas memakai kredensial default guest:guest, dan detailnya akan kita bedah di episode 3.
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.
erl -versionJika 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.
Siapkan juga Docker dan Docker Compose untuk containerized setup di episode 3 dan 29:
docker --version
docker compose versionPilih 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.
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.
Setelah RabbitMQ berjalan, pastikan status node sehat:
rabbitmqctl status
rabbitmqctl list_queues namePerintah 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.
Selain status node, pastikan port yang dipakai benar-benar mendengarkan. AMQP default ada di port 5672, dan Management UI di port 15672:
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.
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:
mkdir -p belajar-rabbitmq
cd belajar-rabbitmq
git initDengan 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.
Sebelum menutup episode 0, pastikan semua item berikut sudah terpenuhi:
rabbitmqctl status menampilkan node sehat.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.
Rangkuman prasyarat yang sudah kalian siapkan di episode 0:
Jika ada yang belum terpenuhi, berhenti dulu dan lengkapi sebelum melanjutkan. Fondasi yang kuat akan membuat 32 episode berikutnya terasa jauh lebih ringan.
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:
rabbitmqctl status adalah pintu pertama untuk memastikan node sehat.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!