gRPC adalah framework RPC universal open source berperforma tinggi, yang dikembangkan oleh Google. Di gRPC, aplikasi klien dapat langsung memanggil metode di aplikasi server di komputer lain seolah-olah itu adalah objek lokal, sehingga mempermudah pembuatan aplikasi dan layanan terdistribusi.
Salah satu manfaat utama penggunaan gRPC adalah untuk dokumentasi; Anda dapat menggunakan konfigurasi layanan dan file definisi antarmuka API untuk membuat dokumentasi referensi untuk API Anda. Lihat Ringkasan Portal Developer untuk mengetahui informasi selengkapnya.
Pengelolaan API
Endpoint berfungsi dengan Extensible Service Proxy (ESP) atau Extensible Service Proxy V2 (ESPv2) untuk menyediakan pengelolaan API.
Dengan Endpoint untuk gRPC, Anda dapat menggunakan kemampuan pengelolaan API dari Endpoint untuk menambahkan konsol API, memantau, menghosting, melacak, autentikasi, dan lainnya ke layanan gRPC Anda. Selain itu, setelah Anda menentukan aturan pemetaan khusus, ESP dan ESPv2 menerjemahkan RESTful JSON melalui HTTP menjadi permintaan gRPC. Artinya, Anda dapat men-deploy server gRPC yang dikelola oleh Endpoint dan memanggil API-nya menggunakan klien gRPC atau JSON/HTTP, sehingga memberi Anda fleksibilitas dan kemudahan integrasi yang jauh lebih besar dengan sistem lain.
Anda dapat membuat layanan gRPC untuk Endpoint dalam bahasa apa pun yang didukung gRPC. Anda dapat mengetahui informasi selengkapnya tentang gRPC, termasuk panduan memulai dan tutorial untuk membuat server dan klien, di situs gRPC.
Platform komputasi yang didukung
ESP dan ESPv2 adalah project Open Source dan tersedia untuk Anda dengan cara berikut:
- Container di Google Container Registry.
- Lihat catatan rilis ESP untuk image Docker ESP saat ini.
- Lihat catatan rilis ESPv2 untuk image Docker ESPv2 saat ini.
- Kode sumber di GitHub.
- Lihat README ESP untuk mengetahui detail cara membuat ESP.
- Lihat README ESPv2 untuk mengetahui detail cara membuat ESPv2.
Anda dapat menjalankan penampung ESP di hal berikut:
- Compute Engine dengan Docker
- Kubernetes, termasuk Google Kubernetes Engine
- Komputer Linux atau macOS atau penyedia cloud lainnya
Anda dapat menjalankan penampung ESPv2 di hal berikut:
- Cloud Run
- Cloud Run for Anthos
- GKE
- Compute Engine
- Kubernetes
Lihat artikel Tentang Cloud Endpoints untuk mengetahui informasi selengkapnya.
Lihat Men-deploy Backend API untuk mengetahui informasi tentang cara men-deploy API dan ESP pada platform komputasi GCP.
Definisi dan konfigurasi layanan
gRPC didasarkan pada ide mendefinisikan layanan, yang menentukan metode yang dapat dipanggil dari jarak jauh dengan parameter dan jenis nilai yang ditampilkan. Secara default, gRPC menggunakan buffering protokol sebagai Interface Definition Language (IDL) untuk mendeskripsikan antarmuka layanan dan struktur pesan payload.
// The greeting service definition.
service Greeter {
// Sends a greeting
rpc SayHello (HelloRequest) returns (HelloReply) {}
}
// The request message containing the user's name.
message HelloRequest {
string name = 1;
}
// The response message containing the greetings
message HelloReply {
string message = 1;
}
Untuk menggunakan gRPC dengan Endpoint, Anda harus memberikan konfigurasi layanan beserta definisi layanan. Tindakan ini akan mengonfigurasi perilaku runtime layanan Anda, termasuk autentikasi, API yang disertakan dalam layanan, pemetaan dari permintaan HTTP ke metode gRPC, dan setelan Endpoint Cloud khusus.
Transcoding
Endpoint menyediakan terjemahan protokol untuk layanan gRPC Anda, sehingga klien dapat menggunakan HTTP/JSON untuk berkomunikasi dengan layanan gRPC melalui ESP atau ESPv2.
Kasus penggunaan yang paling umum adalah mengizinkan klien browser berbicara dengan server gRPC tanpa dukungan khusus dari library klien gRPC. Endpoint menyediakan mekanisme untuk memetakan permintaan HTTP ke metode gRPC sebagai bagian dari konfigurasi layanan.
Anda dapat mengetahui hal ini lebih lanjut di Melakukan transcoding HTTP/JSON ke gRPC.
Batasan
Fitur gRPC berikut belum didukung di Endpoint:
- Kompresi payload
- Semua IDL selain buffering protokol
Selain itu, Endpoint hanya mendukung layanan gRPC untuk GKE, Compute Engine, dan Cloud Run (Beta). Endpoint tidak mendukung layanan gRPC untuk lingkungan App Engine.
Apa langkah selanjutnya?
- Ikuti salah satu tutorial kami untuk mengaktifkan dan menjalankan layanan gRPC sederhana dengan Cloud Endpoints di lingkungan pilihan Anda.
- Cari tahu cara mengonfigurasi layanan gRPC untuk Cloud Endpoints
- Pelajari sampel. Contoh get-started-grpc tersedia di GitHub dalam bahasa berikut:
- Contoh Toko Buku tersedia dalam bahasa berikut: