Penemuan layanan
Cloud Service Mesh menyediakan layanan dan penemuan endpoint. Dengan fitur-fitur ini, Anda dapat mengelompokkan instance virtual machine (VM) dan instance container yang menjalankan kode sebagai endpoint layanan Anda.
Cloud Service Mesh memantau layanan ini agar dapat berbagi informasi health check terbaru dengan kliennya. Oleh karena itu, saat salah satu aplikasi Anda menggunakan klien Cloud Service Mesh-nya (seperti proxy file bantuan Envoy atau aplikasi gRPC tanpa proxy) untuk mengirim permintaan, aplikasi tersebut akan mendapatkan manfaat dari informasi terbaru tentang layanan Anda.
Dalam konteks Cloud Service Mesh, klien adalah kode aplikasi yang berjalan di VM atau container yang merumuskan permintaan untuk dikirim ke server. Server adalah kode aplikasi yang menerima permintaan tersebut. Klien Cloud Service Mesh adalah Envoy atau gRPC atau klien xDS lainnya yang terhubung ke Cloud Service Mesh dan merupakan bagian dari bidang data.
Di bidang data, Envoy atau gRPC melakukan hal berikut:
- Layanan ini memeriksa permintaan dan mencocokkan permintaan tersebut ke layanan backend, resource yang Anda konfigurasi selama deployment.
- Setelah permintaan dicocokkan, Envoy atau gRPC akan menerapkan kebijakan keamanan atau traffic yang dikonfigurasi sebelumnya, memilih backend atau endpoint, dan mengarahkan permintaan ke backend atau endpoint tersebut.
Penemuan layanan
Cloud Service Mesh menyediakan penemuan layanan. Saat mengonfigurasi Cloud Service Mesh, Anda akan membuat layanan backend. Anda juga menentukan aturan perutean yang menentukan cara permintaan keluar (permintaan yang dikirim oleh kode aplikasi Anda dan ditangani oleh klien Mesh Cloud Service) dicocokkan dengan layanan tertentu. Saat klien Cloud Service Mesh menangani permintaan yang cocok dengan aturan, klien tersebut dapat memilih layanan yang akan menerima permintaan tersebut.
Contoh:
- Anda memiliki VM yang menjalankan aplikasi Anda. VM ini memiliki proxy file bantuan Envoy yang terhubung ke Cloud Service Mesh dan menangani permintaan keluar atas nama aplikasi.
- Anda mengonfigurasi layanan backend yang bernama
payments
. Layanan backend ini memiliki dua backend grup endpoint jaringan (NEG) yang mengarah ke berbagai instance container yang menjalankan kode untuk layananpayments
Anda. - Anda telah mengonfigurasi resource
Mesh
yang menentukan mesh yang disebutsidecar-mesh
. - Anda telah mengonfigurasi resource
Route
yang menentukan tujuan traffic untuk layanan backendpayments
dan nama hosthelloworld-gce
.
Dengan konfigurasi ini, saat aplikasi Anda (di VM) mengirim permintaan HTTP ke payments.example.com
, klien Mesh Layanan Cloud akan mengetahui bahwa permintaan ini ditujukan untuk layanan payments
.
Saat Anda menggunakan Cloud Service Mesh dengan layanan gRPC tanpa proxy, penemuan layanan akan berfungsi serupa. Namun, library gRPC yang bertindak sebagai klien Mesh Layanan Cloud hanya mendapatkan informasi tentang layanan yang Anda tetapkan resolver xDS-nya. Secara default, Envoy mendapatkan informasi tentang semua layanan yang dikonfigurasi di jaringan Virtual Private Cloud (VPC) yang ditentukan dalam file bootstrap Envoy.
Penemuan endpoint
Service discovery memungkinkan klien mengetahui layanan Anda. Dengan Penemuan Endpoint, klien dapat mengetahui tentang instance yang menjalankan kode Anda.
Saat membuat layanan, Anda juga menentukan backend untuk layanan tersebut. Backend ini adalah VM dalam grup instance terkelola (MIG) atau container dalam NEG. Cloud Service Mesh memantau MIG dan NEG ini sehingga mengetahui kapan instance dan endpoint dibuat dan dihapus.
Cloud Service Mesh terus membagikan informasi terbaru tentang layanan ini kepada kliennya. Informasi ini memungkinkan klien menghindari pengiriman traffic ke endpoint yang sudah tidak ada lagi. Hal ini juga memungkinkan klien mempelajari endpoint baru dan memanfaatkan kapasitas tambahan yang disediakan oleh endpoint tersebut.
Selain menambahkan endpoint ke MIG atau NEG dan menyiapkan Cloud Service Mesh, Anda tidak memerlukan konfigurasi tambahan untuk mengaktifkan penemuan layanan dengan Cloud Service Mesh.
Intersepsi traffic proxy file bantuan di Cloud Service Mesh
Cloud Service Mesh mendukung model proxy file bantuan. Pada model ini, saat aplikasi mengirim traffic ke tujuannya, traffic akan dicegat dan dialihkan ke port pada proxy file bantuan di host tempat aplikasi berjalan. Proxy file bantuan memutuskan cara melakukan load balancing pada traffic, lalu mengirimkan traffic ke tujuannya.
Dengan Cloud Service Mesh dan API perutean layanan, intersepsi traffic dikelola secara otomatis.
Langkah selanjutnya
- Untuk mempelajari cara Cloud Service Mesh menghasilkan load balancing global untuk microservice internal Anda dengan proxy sidecar, lihat load balancing Cloud Service Mesh.
- Untuk mempelajari Cloud Service Mesh lebih lanjut, lihat ringkasan Cloud Service Mesh.