Sebelum menyentuh gRPC, kalian perlu menguasai konsep RPC, HTTP/2, serialisasi data dengan Protocol Buffers, serta dasar jaringan dan TLS. Di episode ini kalian juga menyiapkan compiler protoc, plugin bahasa, dan memverifikasi instalasi pertama.

Selamat datang di series Belajar gRPC! Series ini akan membawa kalian menguasai gRPC — framework RPC modern yang dikembangkan Google, berjalan di atas HTTP/2 dengan Protocol Buffers sebagai format data — dari fondasi konsep sampai production readiness. Total ada 19 episode yang tersusun dari enam fase.
Tapi sebelum menulis service pertama, ada beberapa skill dasar dan perangkat lunak yang wajib kalian miliki. Mengapa prasyarat ini penting? Karena gRPC bukan sekadar perpustakaan pemanggilan fungsi jarak jauh. Dia adalah sistem komunikasi yang menggabungkan protobuf, HTTP/2, streaming, dan kontrak service yang terdefinisi. Kalau kalian belum paham bagaimana HTTP/2 bekerja atau bagaimana protobuf diserialisasi, debugging masalah koneksi akan terasa seperti menebak-nebak.
Episode 0 ini adalah peta jalan kalian: kita akan memastikan skill dasar, menyiapkan compiler protoc, menginstall SDK gRPC pada bahasa pilihan, dan melakukan verifikasi pertama. Setelah episode ini selesai, seluruh series bisa diikuti dengan nyaman.
Pahami dulu tiga konsep ini karena semuanya dipakai gRPC setiap hari. RPC (Remote Procedure Call) adalah teknik memanggil fungsi yang berjalan di proses atau mesin lain seolah-olah fungsi itu lokal. Arsitektur client-server berarti satu pihak memulai komunikasi (client) dan pihak lain menyediakan layanan (server). HTTP/2 adalah protokol transport yang dipakai gRPC: berjalan di atas TCP, mempertahankan koneksi, dan mengizinkan banyak stream berjalan bersamaan di satu koneksi.
Jika belum familiar, coba lihat lalu lintas HTTP/2 dengan:
curl -I --http2 https://grpc.ioPerhatikan baris HTTP/2 200 pada output. Header yang dikirim via protokol curl --http2 ini menunjukkan bahwa server mendukung HTTP/2 — dasar transport yang sama yang dipakai gRPC.
gRPC tidak mengirim data sebagai teks JSON. Dia memakai Protocol Buffers (protobuf) versi 3, format serialisasi biner berbasis kontrak. Kalian mendefinisikan struktur data di file .proto, lalu protoc membangkitkan kode di berbagai bahasa. Dua konsep wajib:
string name = 1.Konsep ini dibahas mendalam mulai episode 3. Untuk sekarang, cukup paham bahwa protobuf memberi gRPC kecepatan dan ukuran payload yang kecil.
gRPC adalah protokol jaringan. Kalian wajib nyaman dengan konsep port (tempat server mendengarkan, contohnya 50051), alamat (misalnya localhost:50051), dan TLS (enkripsi lapisan transport). TLS dibahas menyeluruh di episode 11, tapi ketahui dulu bahwa gRPC bisa berjalan plaintext untuk pengembangan dan aman via TLS untuk produksi.
gRPC mendukung banyak bahasa. Kalian cukup menguasai satu di antaranya: Go, Node.js, Python, Java, C#, atau Rust. Series ini memakai Go untuk contoh server dan Node.js untuk contoh client, tapi prinsipnya sama di semua bahasa karena kontrak .proto dibangkitkan otomatis.
Komponen utama yang wajib ada: compiler protobuf (protoc) untuk membaca file .proto, dan plugin bahasa untuk membangkitkan kode client maupun server. Keduanya akan diinstall di bagian berikutnya.
Setiap bahasa punya runtime resmi. Untuk Go, library utamanya adalah google.golang.org/grpc. Untuk Node.js, pakainya @grpc/grpc-js. Untuk Python, grpcio. Pilih sesuai bahasa yang kalian kuasai, lalu tambahkan sebagai dependency project.
Gunakan editor yang mendukung syntax highlighting protobuf, misalnya VS Code dengan extension resmi. Siapkan juga Docker karena episode 7 dan 17 akan menjalankan server gRPC di dalam container:
docker --versionOutput harus menampilkan versi Docker yang berjalan. Sistem juga butuh koneksi internet untuk mengunduh dependency saat testing lintas platform.
Cara paling stabil adalah mengunduh rilis resmi dari GitHub, atau memakai package manager bila versinya cukup baru:
apt-get update
apt-get install -y protobuf-compiler
protoc --versionPerintah protoc --version harus menampilkan versi seperti libprotoc 3.21.x. Untuk versi paling baru, unduh arsip dari rilis resmi protobuf lalu ekstrak ke /usr/local.
Untuk Go, install dua plugin resmi:
go install google.golang.org/protobuf/cmd/protoc-gen-go@latest
go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@latestKedua perintah menghasilkan biner protoc-gen-go dan protoc-gen-go-grpc. Pastikan direktori $HOME/go/bin masuk ke PATH dengan mengecek:
which protoc-gen-go
which protoc-gen-go-grpcJika which protoc-gen-go mengembalikan lokasi biner, instalasi plugin berhasil. Untuk Node.js, tidak ada plugin terpisah: cukup npm install @grpc/grpc-js.
Sebelum lanjut ke episode 1, jalankan verifikasi cepat untuk memastikan semuanya siap. Buat direktori project baru:
mkdir belajar-grpc
cd belajar-grpc
go mod init belajar-grpcLalu pastikan semua komponen utama terpasang:
protoc --version
go version
docker --version
which grpcurlPerintah which grpcurl hanya perlu mengembalikan lokasi jika kalian menginstall grpcurl — tool CLI untuk memanggil service gRPC dari terminal yang akan dipakai mulai episode 9. Jika belum ada, install via go install github.com/fullstorydev/grpcurl/cmd/grpcurl@latest.
Rangkuman skill dan perangkat yang sudah kalian siapkan di episode 0:
.proto.Jika ada yang belum terpenuhi, berhenti dulu dan lengkapi sebelum melanjutkan. Fondasi yang kuat akan membuat 18 episode berikutnya terasa jauh lebih ringan.
Inti yang harus dibawa pulang:
protoc dan plugin bahasa sesuai bahasa yang kalian pilih.grpcurl untuk workflow development.protoc --version dan go version.Di episode 1 selanjutnya kita akan membahas sejarah, latar belakang, dan mengapa membutuhkan gRPC — dari kelahiran Stubby di Google, rilis open source tahun 2015, standarisasi protobuf sebagai IDL default, hingga perbandingan mendalam gRPC versus REST/JSON dan kapan sebaiknya tidak memakai gRPC. Pastikan environment kalian sudah siap, karena perjalanan Belajar gRPC baru saja dimulai!