Load balancing Cloud Service Mesh

Cloud Service Mesh menggunakan proxy sidecar atau gRPC tanpa proxy untuk memberikan load balancing global untuk 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 status, pemilihan rute, dan backend ke proxy sidecar atau gRPC tanpa proxy, sehingga memungkinkannya melakukan pemilihan rute traffic yang optimal ke instance aplikasi di beberapa region cloud untuk layanan.

Dalam diagram berikut, traffic pengguna memasuki deployment Google Cloud melalui load balancer global eksternal. Load balancer eksternal mendistribusikan traffic ke mikrolayanan 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 Payments. Dalam 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 microservice Keranjang Belanja di us-central1 tidak responsif, Cloud Service Mesh akan menginstruksikan proxy sidecar untuk microservice Front End agar mengalihkan traffic ke microservice Keranjang Belanja yang berjalan di asia-southeast1. Karena penskalaan otomatis terintegrasi dengan pengelolaan traffic di Google Cloud, Cloud Service Mesh akan memberi tahu MIG di asia-southeast1 tentang traffic tambahan, dan ukuran MIG akan bertambah.

Cloud Service Mesh mendeteksi bahwa semua backend microservice Pembayaran berfungsi dengan baik, sehingga Cloud Service Mesh menginstruksikan proxy Envoy untuk Keranjang Belanja agar mengirim 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 pemilihan rute 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 sidecar 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 xDS API untuk berkomunikasi langsung dengan setiap proxy. Di bidang data, aplikasi mengirim 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 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 selanjutnya