Load balancing Cloud Service Mesh
Cloud Service Mesh menggunakan proxy file bantuan atau gRPC tanpa proxy untuk menghadirkan load balancing global untuk microservice internal Anda. Anda dapat men-deploy microservice internal (berbasis proxy atau tanpa proxy) dengan instance di beberapa region. Cloud Service Mesh menyediakan informasi kondisi, perutean, dan backend ke proxy file bantuan atau gRPC tanpa proxy, sehingga proxy dapat 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 microservice Front End dalam us-central1
atau asia-southeast1
, bergantung pada lokasi pengguna akhir.
Deployment internal ini memiliki tiga microservice global: Front End, Keranjang
Belanja, dan Pembayaran. Setiap layanan berjalan pada 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 pada host dengan Front End kemudian mengarahkan traffic ke Keranjang Belanja. Proxy file bantuan yang diinstal di host dengan Keranjang Belanja mengarahkan traffic ke microservice Payments. Dalam lingkungan gRPC tanpa proxy, aplikasi gRPC Anda akan menangani pengelolaan traffic.
Pada 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 bantuan untuk microservice Front End agar menggagalkan 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 dalam asia-southeast1
traffic tambahan, dan MIG akan bertambah ukurannya.
Cloud Service Mesh mendeteksi bahwa semua backend microservice Payments
berjalan baik, sehingga Cloud Service Mesh menginstruksikan proxy Envoy untuk Keranjang Belanja agar
mengirim sebagian traffic—hingga kapasitas yang dikonfigurasi
pelanggan—ke asia-southeast1
dan menambahkan sisanya ke us-central1
.
Komponen load-balancing di Cloud Service Mesh
Selama penyiapan Cloud Service Mesh, Anda akan 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
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 pada 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 di aturan penerusan atau resource Mesh
. Proxy file bantuan atau aplikasi gRPC Anda
menangkap traffic dan mengalihkannya ke backend yang sesuai.
Diagram berikut menunjukkan aplikasi yang berjalan di VM Compute Engine atau Pod GKE, komponennya, dan aliran traffic dalam deployment Cloud Service Mesh. Halaman ini menampilkan resource Cloud Service Mesh dan Cloud Load Balancing yang digunakan untuk menentukan perutean traffic. Diagram menunjukkan API load balancing lama.
Langkah selanjutnya
- Untuk mempelajari cara mengonfigurasi fitur load balancing lanjutan, lihat Ringkasan load balancing lanjutan.
- Untuk mempelajari penemuan layanan dan intersepsi traffic lebih lanjut, lihat Penemuan layanan Cloud Service Mesh.
- Untuk mempelajari lebih lanjut Cloud Service Mesh dengan API perutean layanan, lihat ringkasan.