All Products
Search
Document Center

Serverless App Engine:Skenario produksi: Implementasikan rilis canary ujung ke ujung berdasarkan Spring Cloud Gateway atau gerbang Zuul yang dihosting sendiri

Last Updated:Apr 02, 2026

Saat menjalankan rilis canary pada aplikasi SAE yang didukung oleh gerbang Spring Cloud atau Zuul yang dikelola sendiri, Anda memerlukan cara untuk mengarahkan lalu lintas tertentu ke versi gray setiap layanan mikro—dan memastikan pengarahan tersebut menyebar secara otomatis melalui seluruh rantai layanan. Topik ini menjelaskan cara mengonfigurasi pengarahan lalu lintas ujung ke ujung menggunakan satu Header permintaan HTTP tanpa mengubah kode bisnis apa pun.

Konsep utama

TermDescription
Lingkungan garis dasarVersi produksi stabil dari layanan mikro Anda — Aplikasi A, B, dan C. Semua trafik dialihkan ke sini secara default.
Lingkungan rilis canaryVersi baru yang sedang divalidasi — Aplikasi A-gray, B-gray, dan C-gray. Hanya permintaan yang membawa header canary yang mencapai lingkungan ini.
Penyebaran ujung ke ujungSetelah gerbang masuk mengarahkan permintaan ke instans gray, tag gray menyebar secara otomatis melalui setiap panggilan layanan downstream — A-gray → B-gray → C-gray — tanpa perlu perubahan kode.
x-mse-tagHeader permintaan HTTP yang digunakan secara eksklusif dalam skenario ini untuk mengarahkan trafik ke lingkungan rilis canary. Jangan gunakan header ini saat mengonfigurasi aturan rilis canary untuk aplikasi.

Prasyarat

Sebelum memulai, pastikan Anda telah:

  • Mengonfigurasi instans Application Load Balancer (ALB) sebagai gerbang masuk

  • Menyediakan registrasi layanan Nacos untuk pendaftaran dan penemuan layanan

  • Mengunduh paket mse-simple-demo

Terapkan aplikasi demo SAE

Terapkan aplikasi jaringan tulang punggung

Terapkan Aplikasi A (keranjang belanja), Aplikasi B (pusat transaksi), dan Aplikasi C (pusat inventaris) ke SAE. Untuk petunjuk penyiapan, lihat Modifikasi registrasi dan penemuan layanan aplikasi ke Nacos.

Terapkan aplikasi rilis canary

Terapkan Aplikasi A-gray, Aplikasi B-gray, dan Aplikasi C-gray. Tambahkan -Dalicloud.service.tag=gray ke perintah startup setiap aplikasi canary agar sistem dapat membedakannya dari versi garis dasarnya.

Jika penerapan Anda menggunakan registrasi layanan non-bawaan SAE, tambahkan juga parameter startup berikut: -Dnacos.use.endpoint.parsing.rule=false -Dnacos.use.cloud.namespace.parsing=false

Terapkan gerbang Spring Cloud atau Zuul

Arahkan permintaan dari nama domain yang sama menggunakan path URL berbeda. Untuk detail konfigurasi, lihat Konfigurasikan pengarahan gerbang untuk aplikasi menggunakan instans CLB.

Arahkan trafik ke lingkungan rilis canary

Ketika nama domain klien tidak dapat diubah, asosiasikan nama domain www.base.com dengan entri rute dan tambahkan header x-mse-tag:gray ke permintaan yang harus diarahkan ke lingkungan rilis canary. Gerbang masuk ALB membaca header tersebut dan mengarahkan permintaan ke instans layanan gray, yang kemudian menyebarkan tag gray ke semua layanan downstream.

Peringatan

Header x-mse-tag hanya berfungsi dalam skenario spesifik ini. Jangan menggunakannya saat mengonfigurasi aturan rilis canary untuk aplikasi. Untuk informasi lebih lanjut, lihat Manage canary release rules for Java applications.

Diagram berikut menunjukkan bagaimana permintaan masuk diarahkan ke lingkungan rilis canary setelah header x-mse-tag:gray ditambahkan.

End-to-end canary release using self-managed Spring Cloud or Zuul gateways

Verifikasi rilis canary

Jalankan perintah berikut untuk memastikan lalu lintas diarahkan dengan benar.

Periksa lalu lintas garis dasar — permintaan tanpa header x-mse-tag dialihkan ke lingkungan produksi:

curl -H "Host:www.base.com" http://106.14.XX.XX/a

Output yang diharapkan:

A[172.18.XX.XX] -> B[172.18.XX.XX] -> C[172.18.XX.XX]

Periksa lalu lintas canary — tambahkan x-mse-tag:gray untuk mengarahkan permintaan melalui ketiga instans gray:

curl -H "Host:www.base.com" -H "x-mse-tag:gray" http://106.14.XX.XX/a

Output yang diharapkan:

Agray[172.18.XX.XX] -> Bgray[172.18.XX.XX] -> Cgray[172.18.XX.XX]%

Output tersebut mengonfirmasi bahwa pengontrol gerbang masuk Classic Load Balancer (CLB) mengarahkan permintaan ke lingkungan rilis canary Aplikasi A, dan tag gray menyebar secara ujung ke ujung melalui Aplikasi B-gray dan Aplikasi C-gray.

Langkah berikutnya

  • Untuk mengonfigurasi aturan rilis canary otomatis untuk aplikasi Java, lihat Manage canary release rules for Java applications.