Sebelum menyentuh NATS, kalian perlu menguasai konsep networking dasar, pola publish/subscribe dan queue, serta konsep distributed systems seperti at-least-once, idempotency, dan backpressure. Di episode ini kalian juga menyiapkan nats-server, nats CLI, dan client library pertama.

Selamat datang di series Belajar NATS! Series ini akan membawa kalian menguasai NATS — cloud-native messaging system yang dipakai untuk membangun komunikasi antar service, event-driven architecture, dan streaming dengan JetStream — dari fondasi konsep sampai production readiness. Total ada 23 episode yang tersusun dari enam fase.
Tapi sebelum menyentuh nats-server, ada beberapa skill dasar dan perangkat lunak yang wajib kalian miliki. Mengapa prasyarat ini penting? Karena NATS adalah sistem messaging: seluruh operasinya berputar di sekitar pengiriman pesan antar komponen yang terpisah, baik dalam satu proses, satu mesin, maupun lintas data center. Kalau kalian belum paham bagaimana TCP dan port bekerja, atau apa itu subscriber, semua konsep berikutnya akan terasa abstrak.
Episode 0 ini adalah peta jalan kalian: kita akan memastikan skill dasar, menyiapkan perangkat lunak, menginstall server dan CLI, lalu melakukan verifikasi pertama. Setelah episode ini selesai, seluruh series bisa diikuti dengan nyaman.
NATS berkomunikasi lewat TCP/IP pada port default 4222. Kalian wajib memahami tiga hal dasar: apa itu TCP connection, apa itu port, dan bagaimana hostname atau IP digunakan untuk mencapai sebuah service. Jika sudah pernah ssh ke server atau menjalankan server web lokal, sebagian besar konsep ini sudah kalian miliki.
Selain networking, pahami dua pola komunikasi utama:
Jaringan dasar ini adalah fondasi: NATS hanyalah pengatur lalu lintas pesan di antara mereka.
NATS dipakai di sistem terdistribusi, jadi beberapa istilah wajib kalian kenal sejak awal:
Jangan khawatir jika belum dalam. Episode 11 dan 16 akan membahas idempotency dan backpressure secara mendalam. Yang penting sekarang: kalian tahu istilah-istilah ini ada dan mengapa ia dibahas.
NATS Server adalah daemon utama yang menjalankan messaging. Versi stabil terbaru per penulisan series ini adalah 2.14.x. Install lewat binary resmi, package manager, atau Docker. Untuk pengecekan cepat, verifikasi binary:
nats-server -vJika output menampilkan nats-server: v2.14.3 atau seri 2.14.x lain, server sudah siap. Cara alternatif tanpa install: jalankan lewat Docker.
docker run -d -p 4222:4222 nats:2.14Container nats:2.14 di atas mendengarkan port 4222 untuk client dan 8222 untuk monitoring. Docker akan sangat berguna di episode 12-17 nanti, jadi pastikan terinstall.
nats CLI adalah toolkit admin untuk berinteraksi dengan server: publish, subscribe, mengelola stream dan consumer, hingga mengecek kesehatan. Install lewat script resmi atau binary, lalu verifikasi:
nats --versionPerintah nats --version menampilkan versi CLI, misalnya nats v2.12.0. CLI dan server adalah dua binary terpisah; keduanya akan saling melengkapi sepanjang series.
NATS punya client resmi untuk hampir semua bahasa. Pilih salah satu sesuai bahasa favorit kalian:
go get github.com/nats-io/nats.gopip install nats-pynpm install natspip install nats-pySemua contoh di series ini akan menampilkan ketiganya secara bergantian, jadi pastikan minimal satu berhasil terinstall. Client library memungkinkan kalian mem-publish dan subscribe dari kode aplikasi, bukan hanya dari CLI.
Info
Jika memakai Python, gunakan nats-py, bukan library lama yang sudah tidak dipertahankan. Nama paket resmi adalah nats-py dan dipakai pada semua dokumentasi resmi nats.io.
Sebelum lanjut ke episode 1, jalankan verifikasi cepat. Pertama, jalankan server dalam satu terminal:
nats-server -p 4222Server akan menampilkan log listening dan memblokir terminal. Di terminal kedua, kirim pesan pertama:
nats pub greeting halo -s nats://localhost:4222Lalu di terminal lain, pasang subscriber sebelum mengirim ulang pesan:
nats sub greetingJika subscriber menerima pesan halo setelah publisher mengirimnya, seluruh environment kalian sudah siap. Alur publish → subscribe inilah inti dari Core NATS yang akan dibedah mulai episode 3.
Terakhir, pastikan client library bisa terhubung dengan cepat memakai nats server check:
nats server checkPerintah nats server check mengembalikan ok jika server merespons dari CLI. Dengan ini, fondasi kalian lengkap: networking dan konsep messaging dipahami, server dan CLI terinstall, serta client library siap dipakai.
Di episode 0 ini kalian sudah menyiapkan pijakan untuk seluruh series: memahami konsep networking dan pola messaging, mengenal istilah distributed systems seperti at-least-once dan idempotency, menginstall nats-server 2.14.x, menyiapkan nats CLI, dan memverifikasi alur publish dan subscribe pertama.
Inti yang harus dibawa pulang:
nats-server dan nats CLI adalah dua binary terpisah yang harus terinstall.halo, dan terima di subscriber.Di episode 1 selanjutnya kita akan membahas sejarah, latar belakang, dan mengapa membutuhkan NATS — dari evolusi messaging dari broker berat seperti Kafka dan RabbitMQ, kelahiran NATS oleh Derek Collison pada 2011, hingga posisinya sebagai proyek CNCF graduated dengan Core NATS dan JetStream. Pastikan environment kalian sudah siap, karena perjalanan Belajar NATS baru saja dimulai!