Load balancing Cloud Service Mesh
Cloud Service Mesh menggunakan proxy sidecar atau gRPC tanpa proxy untuk memberikan load balancing global bagi microservice internal Anda. Anda dapat men-deploy microservice internal (berbasis proxy sidecar atau berbasis gRPC tanpa proxy) dengan instance di beberapa region. Cloud Service Mesh memberikan informasi kesehatan, perutean, dan backend ke proxy sidecar atau gRPC tanpa proxy, sehingga memungkinkan mereka melakukan perutean traffic yang optimal ke instance aplikasi di beberapa region cloud untuk suatu layanan.
Dalam diagram berikut, traffic pengguna memasuki deployment Google Cloud
melalui load balancer global eksternal. Load balancer eksternal mendistribusikan traffic ke mikroservice Front End di us-central1
atau asia-southeast1
, bergantung pada lokasi pengguna akhir.
Deployment internal menampilkan tiga microservice global: Front End, Shopping Cart, dan Payments. Setiap layanan berjalan di grup instance terkelola (MIG) di dua
region, us-central1
dan asia-southeast1
. Cloud Service Mesh menggunakan algoritma load balancing global yang mengarahkan traffic dari pengguna di California ke microservice yang di-deploy di us-central1
. Permintaan dari pengguna di Singapura diarahkan ke microservice di asia-southeast1
.
Permintaan pengguna yang masuk dirutekan ke microservice Front End. Proxy layanan yang diinstal di host dengan Front End kemudian mengarahkan traffic ke Keranjang Belanja. Proxy sidecar yang diinstal di host dengan Keranjang Belanja mengarahkan traffic ke microservice Pembayaran. Di lingkungan gRPC tanpa proxy, aplikasi gRPC Anda akan menangani pengelolaan traffic.
Dalam contoh berikut, jika Cloud Service Mesh menerima hasil health check yang menunjukkan bahwa instance virtual machine (VM) yang menjalankan mikroservice Shopping Cart di us-central1
tidak responsif, Cloud Service Mesh akan menginstruksikan proxy sidecar untuk mikroservice Front End agar melakukan failover traffic ke mikroservice Shopping Cart yang berjalan di asia-southeast1
. Karena penskalaan otomatis terintegrasi dengan pengelolaan traffic di Google Cloud, Cloud Service Mesh memberi tahu MIG di asia-southeast1
tentang traffic tambahan, dan ukuran MIG bertambah.
Cloud Service Mesh mendeteksi bahwa semua backend mikroservice Pembayaran dalam kondisi
baik, sehingga Cloud Service Mesh menginstruksikan proxy Envoy untuk Keranjang Belanja
agar mengirimkan sebagian traffic—hingga kapasitas yang dikonfigurasi pelanggan—ke asia-southeast1
dan melimpahkan sisanya ke us-central1
.
Komponen load balancing di Cloud Service Mesh
Selama penyiapan Cloud Service Mesh, Anda mengonfigurasi beberapa komponen load balancing:
- Layanan backend, yang berisi nilai konfigurasi.
- Health check, yang menyediakan health check untuk VM dan Pod Google Kubernetes Engine (GKE) dalam deployment Anda.
- Dengan API perutean layanan, resource
Mesh
atauGateway
dan resourceRoute
. - Dengan API load balancing, aturan penerusan global, yang mencakup alamat VIP, proxy target, dan peta URL.
Proxy file bantuan yang kompatibel dengan xDS API (seperti Envoy) berjalan di instance VM klien atau di Pod Kubernetes. Cloud Service Mesh berfungsi sebagai bidang kontrol dan menggunakan API xDS untuk berkomunikasi langsung dengan setiap proxy. Di bidang
data, aplikasi mengirimkan traffic ke alamat VIP yang dikonfigurasi dalam
aturan penerusan atau resource Mesh
. Proxy sidecar atau aplikasi gRPC Anda
mencegat traffic dan mengalihkannya ke backend yang sesuai.
Diagram berikut menunjukkan aplikasi yang berjalan di VM Compute Engine atau Pod GKE, komponen, dan alur traffic dalam deployment Cloud Service Mesh. Diagram ini menampilkan Cloud Service Mesh dan resource Cloud Load Balancing yang digunakan untuk menentukan perutean traffic. Diagram ini menunjukkan API load balancing yang lebih lama.
Langkah berikutnya
- Untuk mempelajari cara mengonfigurasi fitur load balancing lanjutan, lihat Ringkasan load balancing lanjutan.
- Untuk mempelajari lebih lanjut penemuan layanan dan penyadapan traffic, lihat Penemuan layanan Cloud Service Mesh.
- Untuk mempelajari lebih lanjut Cloud Service Mesh dengan API perutean layanan, lihat ringkasan.