gRPC adalah framework RPC universal open source berperforma tinggi, yang dikembangkan oleh Google. Di gRPC, aplikasi klien dapat langsung memanggil metode pada aplikasi server di mesin lain seolah-olah itu adalah objek lokal, sehingga memudahkan 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 Endpoints for gRPC, Anda dapat menggunakan kemampuan pengelolaan API Endpoints untuk menambahkan konsol API, pemantauan, hosting, pelacakan, autentikasi, dan lainnya ke layanan gRPC Anda. Selain itu, setelah Anda menentukan aturan pemetaan khusus, ESP dan ESPv2 menerjemahkan JSON RESTful melalui HTTP menjadi permintaan gRPC. Artinya, Anda dapat men-deploy server gRPC yang dikelola oleh Endpoints 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 lebih lanjut 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 Artifact 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 tentang cara mem-build ESP.
- Lihat README ESPv2 untuk mengetahui detail tentang cara mem-build ESPv2.
Anda dapat menjalankan penampung ESP di:
- Compute Engine dengan Docker
- Kubernetes, termasuk Google Kubernetes Engine
- Komputer Linux atau macOS atau penyedia cloud lainnya
Anda dapat menjalankan penampung ESPv2 di:
- Cloud Run
- Inferensi Knative
- GKE
- Compute Engine
- Kubernetes
Lihat Tentang Cloud Endpoints untuk mengetahui informasi selengkapnya.
Lihat Men-deploy Backend API untuk mengetahui informasi tentang cara men-deploy API dan Extensible Service Proxy di platform komputasi Google Cloud.
Definisi dan konfigurasi layanan
gRPC didasarkan pada ide untuk menentukan layanan, yang menentukan metode yang dapat dipanggil dari jarak jauh dengan parameter dan jenis hasilnya. 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 bersama dengan 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 Cloud Endpoints khusus.
Transcoding
Endpoint menyediakan terjemahan protokol untuk layanan gRPC Anda, yang memungkinkan klien menggunakan HTTP/JSON untuk berkomunikasi dengan layanan gRPC melalui ESP atau ESPv2.
Kasus penggunaan yang paling umum adalah mengizinkan klien browser berkomunikasi 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 informasi selengkapnya tentang hal ini di Mentranskode HTTP/JSON ke gRPC.
Batasan
Fitur gRPC berikut belum didukung di Endpoints:
- Kompresi payload
- IDL apa pun selain buffering protokol
Selain itu, Endpoints hanya mendukung layanan gRPC untuk GKE, Compute Engine, dan Cloud Run (Beta). Endpoints tidak mendukung layanan gRPC untuk lingkungan App Engine.
Apa langkah selanjutnya?
- Ikuti salah satu tutorial kami untuk menyiapkan dan menjalankan layanan gRPC sederhana dengan Cloud Endpoints di lingkungan pilihan Anda
- Cari tahu cara mengonfigurasi layanan gRPC untuk Cloud Endpoints
- Jelajahi contoh. Contoh getting-started-grpc tersedia di GitHub dalam bahasa berikut:
- Contoh Toko Buku tersedia dalam bahasa berikut: