
gRPC
Protocol Buffers, layanan gRPC, streaming, interceptor, penanganan error, metadata
1Apa itu gRPC?
Apa itu gRPC?
Jawaban
gRPC adalah framework RPC (Remote Procedure Call) open-source yang dikembangkan oleh Google yang menggunakan HTTP/2 sebagai protokol transport dan Protocol Buffers sebagai format serialisasi default. Berbeda dengan REST yang menggunakan JSON dan HTTP/1.1, gRPC menawarkan performa yang lebih baik berkat format biner Protocol Buffers dan fitur lanjutan HTTP/2 (multiplexing, kompresi header, server push). gRPC banyak digunakan untuk komunikasi antar microservice karena secara native mendukung streaming dua arah, generasi kode client/server, dan tipe yang ketat.
2Apa peran utama Protocol Buffers dalam gRPC?
Apa peran utama Protocol Buffers dalam gRPC?
Jawaban
Protocol Buffers (protobuf) adalah Interface Definition Language (IDL) dan format serialisasi biner yang digunakan secara default dalam gRPC. Ia memungkinkan pendefinisian struktur pesan dan layanan dalam file .proto, yang kemudian dikompilasi untuk menghasilkan kode client dan server secara otomatis dalam berbagai bahasa. Format biner protobuf 3 hingga 10 kali lebih ringkas daripada JSON dan menawarkan performa serialisasi/deserialisasi yang jauh lebih unggul (hingga 20 kali lebih cepat). Ini membuat gRPC sangat cocok untuk komunikasi frekuensi tinggi antar microservice.
3Apa perbedaan antara panggilan gRPC Unary dan panggilan Server Streaming?
Apa perbedaan antara panggilan gRPC Unary dan panggilan Server Streaming?
Jawaban
Panggilan Unary adalah tipe panggilan gRPC paling sederhana: client mengirim satu permintaan dan menerima satu respons, mirip dengan permintaan HTTP REST klasik. Panggilan Server Streaming memungkinkan client mengirim satu permintaan tetapi menerima aliran (stream) beberapa respons dari server. Misalnya, API notifikasi dapat menggunakan Server Streaming untuk mengirim beberapa pembaruan ke client tanpa client harus melakukan polling. Ini mengurangi latensi dan beban jaringan dibandingkan panggilan Unary berulang.
Package Go mana yang digunakan untuk membuat server gRPC?
Bagaimana cara mendefinisikan layanan gRPC dalam file .proto?
+19 pertanyaan wawancara
Topik wawancara Go lainnya
Dasar-Dasar Go
Struktur Data Go
Interface Go
Penanganan Error
Dasar-Dasar Goroutine
Channels
Go Modules
Server HTTP
Klien HTTP
Enkoding JSON
Database/SQL
Paket context
Testing
Pola Concurrency
Primitif Sinkronisasi
Framework web Go
Desain API REST
Reflection
Manajemen Memori
Optimasi Performa
Generics
Go Design Patterns
Microservices
Keamanan dan Autentikasi
Docker & Containerization
Kubernetes Basics
Go Tingkat Lanjut
Pengembangan CLI
Kuasai Go untuk wawancara berikutnya
Akses semua pertanyaan, flashcards, tes teknis, latihan code review dan simulator wawancara.
Mulai gratis