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.

Cloud Service Mesh dalam deployment load balancing global.
Cloud Service Mesh dalam deployment load balancing global (klik untuk memperbesar)

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.

Failover dengan Cloud Service Mesh dalam deployment load balancing global.
Failover dengan Cloud Service Mesh dalam deployment load balancing global (klik untuk memperbesar)

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 atau Gateway dan resource Route.
  • 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.

Resource Cloud Service Mesh yang akan dikonfigurasi.
Resource Cloud Service Mesh yang akan dikonfigurasi (klik untuk memperbesar)

Langkah berikutnya