Fitur Traffic Director

Traffic Director membantu Anda menjalankan microservice di mesh layanan global. Mesh ini menangani jaringan untuk microservice sehingga Anda dapat menulis kode aplikasi yang tidak perlu mengetahui kompleksitas jaringan yang mendasarinya. Pemisahan logika aplikasi dari logika jaringan ini memungkinkan Anda meningkatkan kecepatan pengembangan, meningkatkan ketersediaan layanan, dan memperkenalkan praktik DevOps modern ke organisasi Anda.

Mesh layanan Anda terdiri atas aplikasi Anda, bidang data yang kompatibel dengan xDS (umumnya proxy Envoy open source), dan Traffic Director sebagai bidang kontrol mesh Anda.

Untuk men-deploy layanan gRPC tanpa proxy dengan Traffic Director di mesh layanan, Anda dapat menggunakan versi gRPC yang didukung.

Dokumen ini merangkum berbagai fitur yang tersedia di Traffic Director. Nilai T/A (tidak berlaku) berarti bahwa fitur tidak dapat didukung karena tidak kompatibel dengan konfigurasi Traffic Director tertentu. Ruang kosong, tanpa tanda centang atau T/A, berarti fitur tersebut tidak didukung tetapi mungkin akan tersedia di masa mendatang.

Bidang kontrol yang terkelola sepenuhnya untuk mesh layanan

Traffic Director adalah layanan bidang kontrol yang terkelola dan sangat tersedia, serta berjalan di Google Cloud. Karena tidak perlu menginstal atau memperbarui bidang kontrol, Anda memiliki satu komponen lagi yang harus dikelola di infrastruktur mesh layanan.

Versi xDS yang didukung

Traffic Director menggunakan API bidang kontrol xDS open source untuk mengonfigurasi klien gRPC Envoy dan tanpa proxy. Klien ini bertindak atas nama kode aplikasi Anda untuk memberikan kemampuan jaringan aplikasi Traffic Director.

Versi Support
xDS v2 Ketersediaan Umum. Fitur tertentu, termasuk keamanan layanan, hanya tersedia di xDS v3. Dukungan untuk xDS v2 akan berakhir pada 20 Juni 2024.
xDS v3 Ketersediaan Umum

Platform untuk menjalankan layanan mesh

Anda dapat menjalankan aplikasi di platform berikut dan mengadopsinya ke dalam mesh layanan global yang dikonfigurasi Traffic Director.

Fitur Didukung
Instance virtual machine (VM) Compute Engine
Instance container Google Kubernetes Engine (GKE)
Kubernetes di instance container Compute Engine

Pengelolaan layanan

Layanan dalam mesh yang dikonfigurasi Traffic Director akan mendapatkan manfaat dari hal berikut:

  • Penemuan layanan. Saat aplikasi di mesh Anda ingin menjangkau aplikasi lain, aplikasi dapat memanggil layanan tersebut berdasarkan nama.

  • Penskalaan otomatis backend. Instance yang menjalankan kode aplikasi Anda meningkatkan atau menurunkan skala secara dinamis berdasarkan kebutuhan Anda.

  • Pendaftaran endpoint otomatis. Saat dibuat atau dihapus, instance baru akan otomatis dikaitkan dengan layanan Anda.

Fitur Didukung
Deployment otomatis proxy file bantuan untuk VM Compute Engine
Injeksi proxy file bantuan otomatis untuk Pod GKE
Penemuan layanan berdasarkan nama host
Penskalaan otomatis instance berdasarkan pemakaian CPU
Penskalaan otomatis instance berdasarkan kapasitas beban/penayangan traffic
(khusus VM Compute Engine dalam grup instance terkelola, atau MIG)
Autohealing instance berdasarkan health check yang dapat dikonfigurasi
Pendaftaran endpoint otomatis untuk VM Compute Engine
Pendaftaran endpoint otomatis untuk instance container/Pods GKE
Mengikat layanan di Direktori Layanan ke layanan backend
API untuk menambahkan atau menghapus endpoint secara terprogram

Endpoint untuk traffic bidang data Anda

Microservice menggunakan bidang data untuk menjangkau layanan di mesh Anda dan di luar mesh Anda. Traffic Director memungkinkan Anda memisahkan logika aplikasi dari logika jaringan sehingga aplikasi Anda hanya perlu mengirim permintaan ke bidang data (misalnya, proxy sidecar yang berjalan bersama aplikasi). Bidang data kemudian mengirimkan permintaan ke endpoint yang benar.

Dalam tabel berikut, aplikasi yang dideskripsikan berada dalam mesh adalah aplikasi yang menggunakan bidang data yang dikelola Traffic Director untuk berkomunikasi dengan layanan lain. Aplikasi tersebut dapat mengirim traffic ke layanan dan layanan dalam mesh di luar mesh.

Fitur Didukung
Aplikasi berbasis VM dalam mesh
Aplikasi berbasis container di mesh
Aplikasi berbasis VM di luar mesh
Aplikasi berbasis container di luar mesh
Aplikasi yang berjalan di pusat data lokal
Aplikasi di lingkungan multi-cloud
Endpoint di Direktori Layanan

Topologi bidang data

Dalam model mesh layanan, aplikasi Anda menggunakan bidang data untuk berkomunikasi. Bidang data ini sering kali terdiri dari proxy file bantuan yang di-deploy bersama aplikasi Anda. Traffic Director sangat fleksibel dan mendukung topologi bidang data yang sesuai dengan kebutuhan jaringan layanan Anda.

Fitur Didukung
Proxy file bantuan yang berjalan bersama aplikasi
Aplikasi gRPC tanpa proxy
Proxy tengah antara dua aplikasi dalam mesh
Proxy edge di batas mesh Anda
Mesh yang mencakup beberapa cluster GKE dan/atau VM Compute Engine di beberapa region

Konfigurasi terprogram dan berbasis API

Semua konfigurasi langsung ditampilkan melalui REST API dan dasbor kami, sehingga Anda dapat mengotomatiskan perubahan di seluruh tim besar dan mengelola perubahan secara terprogram. Beberapa fitur tidak dapat dikonfigurasi menggunakan Konsol Google Cloud.

Fitur Didukung
REST API
Konsol Google Cloud
Google Cloud CLI
Cloud Deployment Manager
Dukungan Terraform

Dukungan bahasa dengan aplikasi gRPC tanpa proxy

Anda dapat membuat aplikasi gRPC tanpa proxy yang berfungsi dengan Traffic Director menggunakan bahasa pemrograman berikut. Fitur mesh layanan yang didukung dalam berbagai implementasi dan versi gRPC tercantum di GitHub.

Pemodelan bahasa Didukung
Java
Go
C++
Python
Ruby
PHP
Node

Meminta protokol

Aplikasi dapat menggunakan protokol permintaan berikut saat menggunakan bidang data yang dikonfigurasi Traffic Director untuk berkomunikasi.

Fitur Didukung
HTTP
HTTPS
HTTP/2
TCP
gRPC

Keamanan layanan

Traffic Director mendukung keamanan layanan dengan konfigurasi berikut.

Fitur Envoy gRPC
TLS dengan Pod GKE
mTLS dengan Pod GKE
Kontrol akses dan otorisasi

Perutean dan pengelolaan lalu lintas

Traffic Director mendukung kebijakan pengelolaan traffic lanjutan yang dapat Anda gunakan untuk mengarahkan, membagi, dan membentuk traffic saat melewati bidang data Anda.

Beberapa fitur pengelolaan traffic lanjutan tidak tersedia dengan layanan gRPC tanpa proxy, dan tidak ada fitur pengelolaan traffic lanjutan yang tersedia dengan resource proxy TCP target.

Fitur berikut tidak didukung saat Traffic Director menangani traffic TCP (non-HTTP(S)).

Fitur Didukung dengan proxy Envoy yang dikonfigurasi untuk menangani traffic HTTP(S) atau gRPC Didukung dengan gRPC tanpa proxy
Perutean permintaan HTTP/Lapisan 7 berdasarkan kecocokan akhiran/awalan/lengkap/ekspresi reguler pada:
• Nama host
• Jalur
• Header
• Metode T/A
• Cookie
• Parameter permintaan T/A
Injeksi kesalahan
Waktu tunggu yang dapat dikonfigurasi T/A
Lihat Durasi streaming maksimum.
Upaya coba lagi
Kecuali waktu tunggu percobaan ulang habis
Pengalihan
Penulisan ulang URI
Transformasi header permintaan/respons
Pemisahan traffic
Pencerminan traffic
Deteksi outlier
Pemutusan sirkuit
Hanya maxRequests
Durasi streaming maksimum

Load balancing

Anda dapat mengonfigurasi metode dan algoritma load balancing lanjutan untuk melakukan load balancing pada layanan, grup backend (grup instance atau grup endpoint jaringan), dan level backend atau endpoint individual. Untuk mengetahui informasi selengkapnya, lihat Ringkasan layanan backend.

Fitur Didukung dengan proxy Envoy yang dikonfigurasi untuk menangani traffic HTTP, TCP, atau gRPC Didukung dengan gRPC tanpa proxy
Pemilihan backend (grup instance atau grup endpoint jaringan) berdasarkan region (sebaiknya region terdekat dengan kapasitas backend yang sehat)
Pemilihan backend menggunakan mode penyeimbangan berbasis tarif (permintaan per detik).
Tidak didukung dengan traffic TCP (non-HTTP(S).
Pemilihan backend berdasarkan mode penyeimbangan berbasis pemanfaatan (khusus VM di grup instance Compute Engine)
Kapasitas maksimum yang dapat dikonfigurasi per backend (khusus Compute Engine dan GKE)

Pemilihan backend berdasarkan kebijakan load balancing yang dapat dikonfigurasi.

Untuk mengetahui informasi tentang setiap kebijakan bawaan, lihat localityLbPolicy.

  • Menggunakan kebijakan bawaan tunggal; pilih dari opsi berikut:

    • Panggilan acak
    • Permintaan paling sedikit
    • Hash ring
    • Acak
    • Tujuan awal
    • Maglev

Ketahanan layanan

Traffic Director mendukung kemampuan yang membantu Anda meningkatkan ketahanan layanan. Misalnya, Anda dapat menggunakan Traffic Director untuk menerapkan pola deployment biru/hijau, pengujian canary, atau pemecahan sirkuit (Envoy, gRPC).

Fitur Didukung dengan proxy Envoy yang dikonfigurasi untuk menangani traffic HTTP, TCP, atau gRPC Didukung dengan gRPC tanpa proxy
Pilihan layanan berdasarkan pemisahan traffic berbasis bobot
Pemutusan sirkuit
Hanya maxRequests

Pengelolaan kapasitas backend dan layanan

Traffic Director mempertimbangkan kapasitas layanan dan backend untuk memastikan distribusi traffic yang optimal di seluruh backend layanan Anda. Traffic Director terintegrasi dengan infrastruktur Google Cloud sehingga otomatis mengumpulkan data kapasitas. Anda juga dapat menetapkan dan mengonfigurasi kapasitas secara manual.

Fitur Didukung
Secara otomatis melacak kapasitas dan penggunaan backend, berdasarkan CPU, untuk instance VM dalam grup instance terkelola (MIG).
Kapasitas dan penggantian manual untuk instance VM dan container di MIG dan grup endpoint jaringan (NEG) berdasarkan rasio permintaan.
Pengosongan kapasitas manual.

Failover

Workload perusahaan umumnya mengandalkan deployment ketersediaan tinggi untuk memastikan waktu beroperasi layanan. Traffic Director mendukung jenis deployment ini dengan mengaktifkan redundansi multi-zona/multi-region.

Fitur Didukung
Failover otomatis ke zona lain dalam region yang sama yang memiliki kapasitas backend yang baik.
Failover otomatis ke region terdekat dengan kapasitas backend yang responsif.

Health check

Traffic Director mendukung health check terpusat untuk menentukan kondisi backend. Namun, Anda tidak dapat menetapkan health check jika layanan backend berisi binding layanan untuk layanan Direktori Layanan.

Untuk informasi referensi, lihat Ringkasan health check.

Fitur Didukung
Health check gRPC
Health check HTTP
Health check HTTPS
Health check HTTP/2
Health check TCP

Health check yang dapat dikonfigurasi:

  • Port
  • Periksa interval
  • Waktu tunggu
  • Batas responsif dan tidak responsif
Jalur permintaan yang dapat dikonfigurasi (HTTP, HTTPS, HTTP/2)
String atau jalur permintaan yang dapat dikonfigurasi (TCP atau SSL)
String respons yang diharapkan yang dapat dikonfigurasi

Kemampuan observasi

Alat kemampuan observasi memberikan informasi pemantauan, proses debug, dan performa untuk membantu Anda memahami mesh layanan. Kemampuan berikut disediakan secara default atau dikonfigurasi dalam bidang data Anda. Kode aplikasi tidak perlu melakukan hal khusus untuk menghasilkan data kemampuan observasi ini.

Dasbor kondisi layanan tersedia dengan layanan gRPC tanpa proxy, tetapi Anda tidak dapat mengonfigurasi logging dan pelacakan bidang data. Traffic Director tidak dapat mengonfigurasi logging dan pelacakan aplikasi gRPC. Anda dapat mengaktifkan logging dan perekaman aktivitas dengan mengikuti petunjuk di bagian pemecahan masalah atau panduan gRPC yang tersedia di situs open source. Misalnya, untuk mengaktifkan pengumpulan dan pelacakan metrik di layanan gRPC tanpa proxy, Anda dapat menggunakan Opencensus.

Fitur Didukung dengan proxy Didukung dengan layanan gRPC tanpa proxy
Dasbor Service Health
Logging bidang data
Pelacakan bidang data

Afinitas sesi

Komunikasi klien-server sering kali melibatkan beberapa permintaan berturut-turut. Dalam kasus demikian, sebaiknya arahkan permintaan klien berturut-turut ke backend atau server yang sama. Traffic Director menyediakan opsi yang dapat dikonfigurasi untuk mengirim permintaan dari klien tertentu atas dasar upaya terbaik, ke backend yang sama selama backend responsif dan memiliki kapasitas. Untuk mengetahui informasi selengkapnya, lihat Ringkasan layanan backend.

Fitur Didukung dengan proxy HTTP(S) Didukung dengan proxy TCP Didukung dengan layanan gRPC tanpa proxy
Alamat IP klien
Cookie HTTP T/A
Header HTTP T/A
Cookie yang dihasilkan (menetapkan cookie klien pada permintaan pertama) T/A

Topologi jaringan

Traffic Director mendukung topologi jaringan Google Cloud umum.

Fitur Didukung
Satu jaringan di project Google Cloud
Beberapa mesh dalam project Google Cloud
Beberapa gateway dalam project Google Cloud
VPC Bersama (jaringan tunggal yang digunakan bersama di beberapa project Google Cloud)

Untuk mendapatkan penjelasan terperinci tentang bagaimana VPC Bersama didukung dengan Traffic Director, lihat Batasan.

Kepatuhan

Traffic Director mematuhi standar berikut.

Sertifikasi kepatuhan Didukung
HIPAA
ISO 27001, ISO 27017, ISO 27018
SOC1, SOC2, SOC3
PCI DSS

Langkah selanjutnya