Penemuan layanan

Traffic Director menyediakan layanan dan penemuan endpoint. Fitur ini memungkinkan Anda mengelompokkan instance virtual machine (VM) dan instance container yang menjalankan kode Anda sebagai endpoint layanan.

Traffic Director memantau layanan ini sehingga dapat berbagi informasi terbaru dengan kliennya. Oleh karena itu, jika salah satu aplikasi Anda menggunakan klien Traffic Director-nya (seperti proxy file bantuan Envoy) untuk mengirim permintaan, aplikasi tersebut akan mendapatkan manfaat dari informasi terbaru tentang layanan Anda.

Dalam konteks Traffic Director, klien adalah kode aplikasi yang berjalan pada VM atau penampung yang merumuskan permintaan untuk dikirim ke server. Server adalah kode aplikasi yang menerima permintaan tersebut. Klien Traffic Director adalah Envoy, gRPC, atau klien xDS lainnya yang terhubung ke Traffic Director dan merupakan bagian dari bidang data.

Di bidang data, Envoy atau gRPC melakukan hal berikut:

  1. Fitur ini memeriksa permintaan dan mencocokkan permintaan tersebut dengan layanan backend, resource yang Anda konfigurasi selama deployment.
  2. Setelah permintaan dicocokkan, Envoy atau gRPC akan memilih backend atau endpoint dan mengarahkan permintaan ke backend atau endpoint tersebut.

Penemuan layanan

Traffic Director menyediakan penemuan layanan. Saat mengonfigurasi Traffic Director, Anda membuat layanan backend. Anda juga menentukan aturan pemilihan rute yang menentukan cara permintaan keluar (permintaan yang dikirim oleh kode aplikasi Anda dan ditangani oleh klien Traffic Director) dicocokkan dengan layanan tertentu. Saat klien Traffic Director menangani permintaan yang cocok dengan aturan, klien Traffic Director dapat memilih layanan yang akan menerima permintaan tersebut.

Contoh:

  • Anda memiliki VM yang menjalankan aplikasi. VM ini memiliki proxy file bantuan Envoy yang terhubung ke Traffic Director dan menangani permintaan keluar atas nama aplikasi.
  • Anda telah 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 layanan payments Anda.
  • Anda telah mengonfigurasi peta aturan perutean yang memiliki aturan penerusan (misalnya alamat IP 0.0.0.0 dan port 80), proxy target, dan peta URL (misalnya nama host payments.example.com yang mengarah ke layanan payments).

Dengan konfigurasi ini, saat aplikasi Anda (di VM) mengirimkan permintaan HTTP ke payments.example.com pada port 80, klien Traffic Director akan mengetahui bahwa permintaan ini ditujukan untuk layanan payments.

Saat Anda menggunakan Traffic Director dengan layanan gRPC tanpa proxy, penemuan layanan juga berfungsi serupa. Namun, library gRPC yang bertindak sebagai klien Traffic Director hanya mendapatkan informasi tentang layanan yang Anda tentukan resolver xDS-nya. Secara default, Envoy mendapatkan informasi tentang semua layanan yang dikonfigurasi pada jaringan Virtual Private Cloud (VPC) yang ditentukan dalam file bootstrap Envoy.

Penemuan endpoint

Penemuan layanan memungkinkan klien mengetahui tentang 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. Traffic Director memantau MIG dan NEG ini agar mengetahui kapan instance dan endpoint dibuat dan dihapus.

Traffic Director 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.

Dalam contoh sebelumnya, Traffic Director menampilkan dua endpoint yang responsif di MIG-1 dan tiga endpoint responsif di MIG-2 untuk shopping-cart layanan. Selain menambahkan endpoint ke MIG atau NEG dan menyiapkan Traffic Director, Anda tidak memerlukan konfigurasi tambahan untuk mengaktifkan penemuan layanan dengan Traffic Director.

Melakukan intersepsi traffic proxy file bantuan di Traffic Director

Traffic Director mendukung model proxy sidecar. Pada model ini, saat aplikasi mengirimkan traffic ke tujuannya, iptables akan menangkap traffic dan mengalihkannya ke proxy sidecar pada host tempat aplikasi berjalan. Proxy file bantuan memutuskan cara melakukan load balancing pada traffic, lalu mengirim traffic ke tujuannya.

Dalam diagram berikut, yang mengasumsikan bahwa Traffic Director dikonfigurasi dengan benar, Envoy adalah proxy file bantuan. Proxy file bantuan berjalan di host yang sama dengan aplikasi.

Layanan contoh yang disebut Web dikonfigurasi pada alamat IP virtual (VIP) 10.0.0.1:80 tempat Traffic Director dapat menemukan dan melakukan load balancing. Traffic Director menemukan penyiapan melalui konfigurasi aturan penerusan, yang menyediakan VIP dan port. Backend untuk layanan Web telah dikonfigurasi dan berfungsi, tetapi berada di luar host VM Compute Engine dalam diagram.

Traffic Director memutuskan bahwa backend optimal untuk traffic ke Web layanan dari host adalah 192.168.0.1:80.

Traffic Director <i}menjadi {i>host<i} jaringan." border="0" class="l10n-absolute-url-src" l10n-attrs-original-order="src,border,width,Alt,class" src="https://cloud.google.com/static/traffic-director/images/td-vm-host-networking.svg" width="700" />
Jejaring host Traffic Director (klik untuk memperbesar)

Alur traffic dalam diagram adalah sebagai berikut:

  1. Aplikasi mengirimkan traffic ke layanan Web, yang di-resolve ke alamat IP 10.0.0.1:80.
  2. Netfilter pada host dikonfigurasi sehingga traffic yang ditujukan ke 10.0.0.1:80 dialihkan ke 10.0.0.1:15001.
  3. Traffic dialihkan ke 127.0.0.1:15001, port intersepsi proxy Envoy.
  4. Pemroses intersepsi proxy Envoy di 127.0.0.1:15001 menerima traffic dan melakukan pencarian untuk tujuan asli permintaan (10.0.0.1:80). Pencarian membuat 192.168.0.1:8080 dipilih sebagai backend optimal, sebagaimana diprogram oleh Traffic Director.
  5. Envoy membuat koneksi melalui jaringan dengan 192.168.0.1:8080 dan membuat proxy traffic HTTP antara aplikasi dan backend ini hingga koneksi dihentikan.

Opsi intersepsi traffic dengan deployment Envoy otomatis

Jika Anda menggunakan deployment Envoy otomatis dengan VM, Traffic Director memiliki opsi intersepsi traffic tambahan. Anda dapat melakukan hal berikut dengan opsi ini:

  • Intersepsi semua lalu lintas
  • Mengecualikan port, rentang port, alamat IP, atau rentang CIDR tertentu

Jika Anda menggunakan resource Mesh dan Gateway API pemilihan rute layanan baru, semua traffic akan ditangkap secara otomatis.

Untuk mengetahui informasi selengkapnya, lihat Opsi untuk penyiapan VM Compute Engine dengan deployment Envoy otomatis.

Langkah selanjutnya