Halaman ini menjelaskan perbedaan antara Framework Endpoints untuk lingkungan standar App Engine dan Extensible Service Proxy (ESP), yang digunakan di Cloud Endpoints untuk API yang menggunakan OpenAPI atau gRPC. Untuk informasi selengkapnya tentang opsi Endpoints, lihat Memilih opsi Endpoints.
Ringkasan
Cloud Endpoints adalah sistem pengelolaan API yang membantu Anda mengamankan, memantau, menganalisis, dan menetapkan kuota pada API menggunakan infrastruktur yang sama dengan yang digunakan Google untuk API-nya sendiri. Fitur pengelolaan API mencakup autentikasi, kunci API, pemantauan, logging, dan pelacakan, terlepas dari teknologi yang digunakan untuk menerapkan API. Fungsi pengelolaan API disediakan melalui ESP atau menggunakan Framework Endpoints.
Extensible Service Proxy
Di Endpoints untuk OpenAPI dan gRPC, permintaan API diteruskan melalui Extensible Service Proxy, yang memvalidasi kunci dan token autentikasi serta mengirim sinyal (metrik dan log) menggunakan Service Control API. Pemisahan yang disediakan oleh ESP berarti Anda dapat menulis kode backend REST atau gRPC dalam bahasa apa pun, dan Anda dapat menggunakan gRPC atau framework apa pun yang mendukung deskripsi API menggunakan OpenAPI.
API yang menggunakan OpenAPI: Backend API dapat berjalan di lingkungan fleksibel App Engine, Google Kubernetes Engine (GKE), Compute Engine, Kubernetes, atau deployment on-premise.
API yang menggunakan gRPC: Backend API dapat berjalan di deployment GKE, Compute Engine, Kubernetes, atau on-premise.
Permintaan dikirim di jalur berikut:
- Permintaan untuk kode Anda diterima dan dikirim ke ESP.
- ESP mengirimkan permintaan pemeriksaan ke Kontrol Layanan.
- Jika Anda mengonfigurasi API untuk mewajibkan kunci API atau autentikasi, Kontrol Layanan akan memeriksa apakah permintaan diizinkan dan mengirim respons kembali ke ESP.
- Jika permintaan tidak diizinkan, ESP akan menolak permintaan tersebut. Jika permintaan diizinkan, permintaan tersebut akan diteruskan ke kode backend Anda. Apa pun hasilnya, ESP akan mencatat informasi tentang permintaan tersebut.
Harga pengelolaan Endpoints API bergantung pada jumlah panggilan per bulan.
Framework Endpoints
Untuk backend API yang berjalan di lingkungan standar App Engine, Endpoints Framework tersedia untuk membantu developer mulai menyalurkan API dengan cepat. Framework Endpoints adalah framework web dan merupakan alternatif untuk Python Flask atau Java Jersey. Endpoints Framework terintegrasi dengan Service Control API, yang berarti backend yang menggunakan Endpoints Framework tidak perlu berjalan di belakang Extensible Service Proxy.
Jika Anda telah mengaktifkan Pengelolaan API, permintaan akan dikirim di jalur berikut:
- Permintaan ke kode Anda diterima dan dikirim ke modul Pengelolaan Endpoint dalam Framework Endpoint.
- Modul Pengelolaan Endpoint mengirim permintaan pemeriksaan ke Service Control.
- Jika Anda mengonfigurasi API untuk mewajibkan kunci API atau autentikasi, Kontrol Layanan akan memeriksa apakah permintaan diizinkan dan mengirim respons kembali ke modul Pengelolaan Endpoint.
- Jika permintaan tidak diizinkan, modul Pengelolaan Endpoint akan menolak permintaan tersebut. Jika diizinkan, permintaan akan diteruskan ke Framework Endpoints. Apa pun yang terjadi, modul Pengelolaan Endpoint akan mencatat informasi tentang permintaan tersebut ke dalam log.
- Framework Endpoint merutekan permintaan ke kode backend Anda.
Anda dapat menggunakan Framework Endpoint dengan atau tanpa fungsi pengelolaan API. Penggunaan Framework Endpoints tanpa fungsi pengelolaan API ditawarkan tanpa biaya. Fungsi pengelolaan API dikenai biaya sesuai dengan halaman harga Endpoint.
Endpoints Framework hanya didukung untuk layanan yang berjalan di lingkungan standar App Engine. Di Compute Engine, GKE, lingkungan fleksibel App Engine, atau lingkungan lainnya, layanan Anda harus berjalan di balik ESP.
Jika layanan berjalan di belakang ESP, Anda dapat menulis kode backend dalam bahasa dan framework apa pun, seperti Python Flask, Java Jersey, atau Node.js Express. Dalam lingkungan tersebut, Anda tidak perlu menggunakan Endpoints Framework untuk pengelolaan API.
Langkah selanjutnya
Untuk informasi tentang cara menambahkan pengelolaan API:
Untuk informasi tentang cara menghapus pengelolaan API: