Ringkasan gRPC

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.

Pengelolaan API

Dengan API Gateway untuk gRPC, Anda dapat menggunakan kemampuan pengelolaan API API Gateway untuk menambahkan pemantauan, hosting, pelacakan, autentikasi, dan lainnya ke layanan gRPC di Cloud Run. Selain itu, setelah Anda menentukan aturan pemetaan khusus, API Gateway menerjemahkan JSON RESTful melalui HTTP menjadi permintaan gRPC. Artinya, Anda dapat men-deploy server gRPC yang dikelola oleh API Gateway 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 API Gateway 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.

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 API Gateway, 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 API Gateway khusus.

Transcoding

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

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

  • Kompresi payload
  • IDL apa pun selain buffering protokol

API Gateway saat ini hanya mendukung layanan gRPC Cloud Run.

Langkah selanjutnya

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