Strategi Pergeseran Lalu Lintas Canary API7 Enterprise untuk Kontrol Lalu Lintas yang Presisi
January 29, 2024
Dalam arsitektur microservices modern, API gateway berfungsi sebagai pintu masuk lalu lintas sistem, menangani tugas-tugas penting seperti perutean permintaan, autentikasi identitas, pembatasan laju, dan pemutus sirkuit. API7 Enterprise, sebagai platform manajemen API yang kuat yang dibangun di atas APISIX, menawarkan kepada pengguna fungsionalitas yang kaya dan fleksibel, dengan canary traffic shifting memainkan peran penting dalam skenario seperti peningkatan layanan yang mulus dan validasi fitur baru.
Ikhtisar Fitur
Membuat Upstream Berdasarkan Layanan Upstream
Setelah layanan di-deploy ke grup gateway API7 Enterprise, administrator dapat dengan mudah membuat upstream baru untuk canary traffic shifting dari layanan upstream baseline yang ada. Upstream ini dapat mewarisi semua konfigurasi dari upstream baseline atau secara selektif mewarisi konfigurasi historis yang telah diuji. Desain ini secara signifikan menyederhanakan proses konfigurasi, mengurangi pekerjaan berulang dan potensi kesalahan konfigurasi. Selain itu, upstream canary traffic shifting mendukung konfigurasi node baru atau integrasi mekanisme penemuan layanan. Ini berarti bahwa tanpa memengaruhi logika bisnis yang ada, sebagian lalu lintas dapat dialihkan ke server atau lingkungan baru untuk pengujian kinerja, validasi fitur, atau jenis evaluasi lainnya.
Kondisi dan Bobot Pengalihan yang Fleksibel
Saat memulai strategi canary traffic shifting, administrator dapat menentukan dengan cermat kondisi dan bobot untuk mengalihkan lalu lintas:
Kondisi Pengalihan: Ini menentukan lalu lintas mana yang harus dialihkan ke upstream canary traffic shifting. Administrator dapat menggabungkan beberapa kondisi menggunakan operator logika (seperti "AND" dan "OR") untuk memastikan bahwa hanya permintaan yang memenuhi kondisi tertentu yang masuk ke lingkungan canary traffic shifting.
Properti yang dapat digunakan untuk penilaian meliputi:
-
Header: Bidang tertentu dalam header permintaan, seperti
User-Agent. -
Cookie: Informasi Cookie yang dikirim oleh klien, umumnya digunakan untuk identifikasi pengguna atau pengenalan status sesi.
-
Parameter Query: Parameter string query dalam URL.
-
Variabel: Variabel sistem atau kustom, seperti lokasi geografis atau peran pengguna.
Logika pencocokan termasuk sama dengan (==), tidak sama dengan (~=), pencocokan reguler (~~), dan metode lainnya, memastikan fleksibilitas dan ketepatan penilaian kondisi.
Misalnya, administrator dapat menetapkan kondisi pengalihan berikut: "Ketika bidang
User-Agentdalam header permintaan mengandung 'iPhone' dan bidanguser_groupdalam Cookie sama dengan 'test_group', alihkan permintaan ke upstream pengalihan lalu lintas."
Bobot Pengalihan: Ini menentukan persentase lalu lintas yang harus dialihkan ke upstream canary traffic shifting. Ini adalah nilai persentase yang memungkinkan administrator untuk secara bertahap meningkatkan atau mengurangi lalu lintas yang masuk ke lingkungan canary traffic shifting.
Awalnya, bobot dapat diatur ke nilai rendah (misalnya, 10%) untuk memastikan bahwa fitur baru diuji dalam lingkup kecil. Seiring dengan kemajuan pengujian dan pengumpulan hasil, bobot dapat secara bertahap ditingkatkan hingga akhirnya 100% lalu lintas beralih ke versi baru.
Dengan menyesuaikan kondisi dan bobot pengalihan secara fleksibel, administrator dapat secara efektif mengontrol lingkup dan dampak pengujian canary traffic shifting, memastikan peluncuran fitur baru yang lancar dan stabilitas sistem.

Skenario Aplikasi Praktis
-
Validasi Fitur Baru: Ketika tim pengembangan menyelesaikan fitur baru dan bersiap untuk merilisnya, canary traffic shifting dapat digunakan untuk awalnya meluncurkan fitur baru ke sebagian kecil pengguna atau kelompok pengguna tertentu. Ini memungkinkan pengumpulan umpan balik pengguna dalam lingkungan nyata sambil memastikan bahwa jika ada masalah yang muncul, lingkup dampaknya dapat dikelola.
-
Pengujian Kinerja: Selama acara besar atau skenario konkurensi tinggi, administrator dapat menggunakan canary traffic shifting untuk mengalihkan sebagian lalu lintas ke node yang baru dikonfigurasi dengan kapasitas lebih tinggi untuk menguji batas kinerja dan stabilitas sistem.
-
Migrasi Bertahap: Selama peningkatan atau migrasi layanan, canary traffic shifting dapat membantu administrator secara bertahap memindahkan lalu lintas dari lingkungan lama ke lingkungan baru, memastikan proses migrasi yang lancar.
Praktik Terbaik
-
Menetapkan Kondisi Pengalihan yang Wajar: Memilih kondisi pengalihan yang sesuai berdasarkan kebutuhan aktual sangat penting. Misalnya, untuk pengujian yang menargetkan kelompok pengguna tertentu, pengalihan yang tepat dapat dicapai melalui pengidentifikasi pengguna dalam Cookies atau Headers.
-
Penyesuaian Bobot Secara Dinamis: Selama pengujian, menyesuaikan bobot pengalihan secara dinamis berdasarkan hasil pengujian dan umpan balik pengguna dapat mempercepat pengumpulan data yang valid atau mempersempit lingkup masalah.
-
Pemantauan dan Peringatan: Memperkuat pemantauan metrik yang relevan selama pengalihan lalu lintas dan menetapkan mekanisme peringatan yang sesuai memungkinkan deteksi dan penyelesaian masalah yang tepat waktu.
Kesimpulan
Melalui canary traffic shifting dari API7 Enterprise, perusahaan tidak hanya dapat memastikan stabilitas layanan tetapi juga secara fleksibel melakukan pengujian fitur baru, optimasi kinerja, dan operasi lainnya, memberikan dukungan kuat untuk pertumbuhan bisnis yang cepat.