Agar API Anda dikelola oleh Cloud Endpoints, Anda memiliki tiga opsi, bergantung pada tempat API dihosting dan jenis protokol komunikasi yang digunakan API:
- Cloud Endpoints untuk OpenAPI
- Cloud Endpoints untuk gRPC
- Framework Cloud Endpoints untuk lingkungan standar App Engine
Halaman ini menjelaskan opsi Endpoint untuk membantu Anda memutuskan mana yang tepat untuk Anda.
Memilih opsi komputasi
Endpoints mendukung berbagai opsi komputasi Google Cloud yang dapat menghosting kode backend API Anda. Endpoint berfungsi dengan Extensible Service Proxy (ESP) atau Extensible Service Proxy V2 (ESPv2) untuk menyediakan pengelolaan API. Tabel berikut menyampulkan opsi komputasi yang didukung:
ESP untuk OpenAPI | ESP untuk gRPC | ESPv2 untuk OpenAPI | ESPv2 untuk gRPC | Framework Endpoint | |
---|---|---|---|---|---|
Generasi 1 lingkungan standar App Engine |
Runtime Java 8 dan Python 2.7 | ||||
Lingkungan standar App Engine generasi ke-2 |
|||||
Lingkungan fleksibel App Engine |
|||||
Cloud Run Functions | |||||
Cloud Run | |||||
Inferensi Knative | |||||
Compute Engine | |||||
GKE | |||||
Kubernetes | |||||
Layanan non-Google Cloud lainnya |
Untuk perbandingan fitur yang disediakan oleh App Engine, GKE, dan Compute Engine, lihat Memilih opsi komputasi. Jika ingin menggunakan App Engine, Anda harus memilih lingkungan standar atau fleksibel. Untuk perbandingan kedua lingkungan tersebut, lihat Memilih lingkungan App Engine.
Tentang batasan opsi komputasi
Endpoints untuk OpenAPI dan Endpoints untuk gRPC dapat menggunakan ESP atau ESPv2 sebagai proxy. Untuk platform non-serverless, ESP atau ESPv2 di-deploy sebagai penampung di depan aplikasi atau sebagai sidecar dengan aplikasi Anda. Untuk platform serverless, seperti Cloud Run, fungsi Cloud Run, dan App Engine, ESPv2 di-deploy sebagai layanan Cloud Run sebagai proxy jarak jauh untuk mengelola aplikasi platform serverless Anda.
Setelah Anda men-deploy kode backend API, ESP atau ESPv2 akan mencegat semua permintaan dan melakukan pemeriksaan yang diperlukan (seperti autentikasi) sebelum meneruskan permintaan ke backend API. Saat backend merespons, ESP mengumpulkan dan melaporkan telemetri menggunakan Infrastruktur Layanan.
Anda dapat melihat metrik untuk API dan link ke log serta rekaman aktivitas Google Cloud Observability di halaman Endpoints Services di Konsol Google Cloud.
Batasan lingkungan generasi ke-1 standar App Engine
Endpoint untuk lingkungan generasi ke-1 standar App Engine secara historis menggunakan Framework Endpoints, yang hanya mendukung lingkungan runtime Java 8 dan Python 2.7.
Karena lingkungan standar App Engine tidak mendukung deployment multi-penampung saat Framework Endpoints sedang dalam pengembangan, Framework Endpoints tidak menggunakan ESP. Sebagai gantinya, Framework Endpoints menyertakan gateway API bawaan yang menyediakan fitur pengelolaan API yang sebanding dengan fitur yang disediakan ESP untuk Endpoints for OpenAPI dan Endpoints for gRPC.
gRPC API tidak didukung di fungsi App Engine atau Cloud Run
gRPC adalah framework remote procedure call (RPC) yang dapat berjalan di lingkungan apa pun. Dengan gRPC, aplikasi klien dapat langsung memanggil metode di aplikasi server di mesin lain seolah-olah itu adalah objek lokal. Fitur inti gRPC adalah streaming dua arah dengan transpor berbasis HTTP/2.
Fungsi App Engine dan Cloud Run tidak mendukung HTTP/2.
Bahasa pemrograman yang didukung
- Spesifikasi OpenAPI adalah spesifikasi yang tidak bergantung pada bahasa. Anda dapat menerapkan API dalam bahasa pemrograman apa pun.
- gRPC menyediakan
compiler protocol buffer,
protoc
, untuk banyak bahasa pemrograman utama: C++, C#, Objective-C (untuk iOS), Dart, Go, Java (termasuk dukungan untuk Android), Node.js, Python, dan Ruby. Lihat FAQ gRPC untuk mengetahui daftar terbaru. - Framework Endpoint hanya mendukung Java 8 dan Python 2.7.
Menjelaskan API Anda
Opsi Endpoints menyediakan berbagai cara untuk mendeskripsikan API Anda.
Endpoint untuk OpenAPI
OpenAPI Initiative adalah upaya seluruh industri untuk menstandardisasi deskripsi REST API. Endpoints mendukung API yang dijelaskan menggunakan Spesifikasi OpenAPI versi 2.0 (sebelumnya Spesifikasi Swagger). Anda mendeskripsikan platform API dalam file JSON atau YAML (disebut sebagai dokumen OpenAPI). Anda dapat menerapkan API menggunakan framework REST yang tersedia secara publik seperti Django atau Jersey. Jika Anda tidak terbiasa dengan Spesifikasi OpenAPI, lihat ringkasan OpenAPI.
Untuk informasi selengkapnya, lihat Endpoint untuk OpenAPI.
Endpoint untuk gRPC
Dengan gRPC, Anda menentukan struktur data yang ingin diserialisasi dalam
file proto: ini adalah file teks biasa dengan ekstensi .proto
. Anda juga
menentukan
platform
API dalam file proto, dengan parameter metode RPC dan jenis nilai yang ditampilkan
yang ditentukan sebagai pesan buffering protokol. Jika Anda belum memahami gRPC, lihat
Apa itu gRPC?
dalam dokumentasi gRPC.
Untuk mengetahui informasi selengkapnya, lihat Endpoint untuk gRPC.
Framework Endpoints
Framework Endpoints adalah framework web untuk lingkungan runtime Python 2.7 dan Java 8 standar App Engine. Anda menambahkan metadata (menggunakan anotasi di Java atau dekorator di Python) ke kode sumber. Metadata menjelaskan platform REST API untuk aplikasi Anda.
Untuk mengetahui informasi selengkapnya, lihat Framework Endpoint.
Langkah selanjutnya
Lihat cara kerja fitur Endpoint dengan melakukan Panduan memulai untuk Endpoint, yang menggunakan skrip untuk men-deploy API contoh ke lingkungan fleksibel App Engine.
Pelajari langkah-langkah deployment dengan melakukan salah satu tutorial untuk opsi Endpoints yang telah Anda pilih:
Pelajari Endpoint dan ESP lebih lanjut: