Ringkasan gRPC

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.

Pengelolaan API

Dengan Gateway API untuk gRPC, Anda dapat menggunakan kemampuan pengelolaan API Gateway API untuk menambahkan pemantauan, hosting, pelacakan, autentikasi, dan lainnya ke layanan gRPC Anda di Cloud Run. Selain itu, setelah Anda menentukan aturan pemetaan khusus, Gateway API menerjemahkan RESTful JSON melalui HTTP menjadi permintaan gRPC. Artinya, Anda dapat men-deploy server gRPC yang dikelola oleh Gateway API dan memanggil API-nya menggunakan klien gRPC atau JSON/HTTP, sehingga memberi Anda fleksibilitas dan kemudahan integrasi yang lebih besar dengan sistem lain.

Anda dapat membuat layanan gRPC untuk Gateway API dalam bahasa yang didukung gRPC. Anda dapat mengetahui informasi selengkapnya tentang gRPC, termasuk panduan memulai dan tutorial untuk membuat server dan klien, di situs gRPC.

Definisi dan konfigurasi layanan

gRPC didasarkan pada gagasan untuk menetapkan 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 Gateway API, Anda harus memberikan konfigurasi layanan beserta definisi layanannya. Tindakan ini akan mengonfigurasi perilaku runtime layanan Anda, termasuk autentikasi, API yang disertakan dalam layanan, pemetaan dari permintaan HTTP ke metode gRPC, dan setelan Gateway API khusus.

Transcoding

Gateway API menyediakan terjemahan protokol untuk layanan gRPC Anda di Cloud Run, sehingga klien dapat menggunakan HTTP/JSON untuk berkomunikasi dengan layanan gRPC melalui Gateway API.

Kasus penggunaan yang paling umum adalah mengizinkan klien browser berbicara dengan server gRPC tanpa dukungan khusus dari library klien gRPC. Gateway API 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 Gateway API:

  • Kompresi payload
  • Semua IDL selain buffering protokol

Saat ini, Gateway API hanya mendukung layanan gRPC Cloud Run.

Langkah selanjutnya

  • Pelajari sampel. Contoh getting-started-grpc tersedia di GitHub dalam bahasa berikut:
  • Contoh Toko Buku tersedia dalam bahasa berikut: