Service Mesh (ASM) memungkinkan Anda mengisolasi versi atau fitur tertentu dari aplikasi ke dalam lingkungan runtime yang independen (dikenal sebagai lane). Anda dapat mengonfigurasi aturan lane untuk mengarahkan permintaan yang memenuhi kriteria ke versi atau fitur tujuan aplikasi. Topik ini menjelaskan konsep dan skenario penggunaan jalur lalu lintas, serta jalur lalu lintas dalam mode ketat dan permissif.
Deskripsi fitur
Rilis canary memungkinkan peluncuran layanan atau versi baru secara bertahap. Sebagai contoh, saat merilis versi baru, Anda dapat mengarahkan sebagian trafik ke versi tersebut untuk pengujian fungsionalitas sebelum meningkatkan volume trafik setelah verifikasi.
Saat layanan saling berinteraksi, Anda mungkin perlu mengisolasi lingkungan dan mengatur pembentukan trafik untuk rantai panggilan layanan ujung-ke-ujung selama rilis canary. Dengan kata lain, pastikan bahwa trafik rilis canary hanya dikirim ke versi rilis canary dari layanan dalam rantai panggilan yang sesuai. Pendekatan ini memastikan isolasi antara rantai panggilan yang berbeda.
Rantai panggilan yang terdiri dari layanan berbeda dengan versi atau fitur tertentu disebut jalur lalu lintas. Dengan menggunakan jalur lalu lintas, Anda cukup mengonfigurasi beberapa aturan untuk membangun lingkungan terisolasi bagi trafik dari gateway ke layanan. Jalur lalu lintas mendukung peluncuran beberapa layanan dan pengembangan paralel dari berbagai versi layanan.
Jalur lalu lintas memiliki dua mode: ketat dan permissif. Bagian berikut menjelaskan kedua mode ini secara rinci.
Jalur lalu lintas dalam mode ketat
Dalam mode ketat, setiap jalur lalu lintas mencakup semua layanan dalam rantai panggilan yang relevan. Mode ini tidak menetapkan persyaratan tambahan untuk aplikasi Anda. Cukup konfigurasikan jalur lalu lintas untuk menerapkan manajemen trafik ujung-ke-ujung. Untuk informasi lebih lanjut, lihat Gunakan jalur lalu lintas dalam mode ketat untuk mengelola trafik ujung-ke-ujung.

Jalur lalu lintas dalam mode permissif
Dalam mode permissif, Anda hanya perlu membuat jalur dasar yang mencakup semua layanan dalam rantai panggilan yang relevan. Jalur lainnya tidak diharuskan mencakup semua layanan dalam rantai panggilan tersebut. Saat layanan dalam suatu jalur saling memanggil, jika layanan yang akan dipanggil tidak ada di jalur tersebut, permintaan diteruskan ke layanan yang sama di jalur dasar. Jika layanan yang akan dipanggil tersedia di jalur tersebut, permintaan diteruskan ke layanan yang diinginkan di jalur tersebut. Saat menggunakan jalur lalu lintas dalam mode permissif, aplikasi Anda harus menambahkan header yang dapat ditransmisikan secara transparan di seluruh rantai panggilan yang sesuai dalam permintaan, dengan nilai yang berbeda. Header permintaan ini disebut header permintaan pass-through end-to-end (E2E). Untuk informasi lebih lanjut, lihat Skenario 1: Pass through ID jejak dalam jejak dan Skenario 2: Pass through header permintaan kustom dalam jejak.

Perbandingan antara mode ketat dan mode permissif
Mode jalur lalu lintas | Manfaat | Batasan | Skema penggunaan |
Mode Ketat | Tidak ada persyaratan yang diberlakukan pada aplikasi Anda. | Setiap jalur lalu lintas harus mencakup semua layanan dalam rantai panggilan yang relevan. | Mode ini berlaku untuk skenario di mana Anda melakukan rilis canary untuk semua layanan dalam rantai panggilan. Saat Anda melakukan rilis canary untuk semua layanan dalam rantai panggilan, mode ketat memiliki persyaratan yang lebih rendah pada aplikasi Anda dibandingkan dengan mode permissif. |
Mode Permissif | Diperlukan agar aplikasi Anda menambahkan header permintaan pass-through E2E dalam permintaan dan header tersebut memiliki nilai yang berbeda. | Anda harus memastikan bahwa jalur dasar mencakup semua layanan dalam rantai panggilan yang relevan dan bahwa permintaan layanan di jalur lain dapat diteruskan ke jalur dasar. | Saat header permintaan pass-through E2E digunakan, jalur lalu lintas dalam mode permissif dapat digunakan dalam lebih banyak skenario. Sebagai contoh, saat hanya versi baru dari beberapa layanan dalam rantai panggilan dirilis, Anda dapat menggunakan jalur lalu lintas dalam mode permissif untuk menguji versi baru ini. |