Cloud Endpoints untuk 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. 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.

Layanan Endpoint gRPC

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.
  • 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:

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: