Topik ini menjelaskan cara melakukan peluncuran kanari ujung ke ujung untuk aplikasi Serverless App Engine (SAE) menggunakan Spring Cloud yang dikelola sendiri atau gerbang Zuul. Anda dapat melakukan pembentukan lalu lintas ujung ke ujung tanpa perlu memodifikasi kode bisnis.
Persiapan
Bagian berikut menjelaskan cara menggunakan instans Application Load Balancer (ALB) sebagai gerbang masuk untuk melakukan peluncuran kanari ujung ke ujung. Arsitektur aplikasi dalam contoh ini terdiri dari gerbang masuk ALB dan kerangka layanan mikro backend (Spring Cloud). Panggilan layanan backend melibatkan aplikasi layanan mikro berikut: keranjang belanja (Aplikasi A), pusat transaksi (Aplikasi B), dan pusat inventaris (Aplikasi C). Anda dapat mengakses layanan backend yang didaftarkan menggunakan registri Nacos melalui klien atau HTML.
Deploy SAE demo applications
Unduh paket demo.
Deploy aplikasi backbone.
Deploy aplikasi backbone berikut: Aplikasi A, Aplikasi B, dan Aplikasi C. Untuk informasi lebih lanjut, lihat Modifikasi Registrasi dan Penemuan Layanan Aplikasi ke Nacos.
Deploy aplikasi rilis canary berikut: Aplikasi A-gray, Aplikasi B-gray, dan Aplikasi C-gray. Tambahkan
-Dalicloud.service.tag=grayke perintah startup untuk membedakan aplikasi rilis canary dengan aplikasi backbone.
Jika Anda ingin menggunakan registri layanan non-bawaan SAE saat menerapkan aplikasi, tambahkan parameter startup berikut: -Dnacos.use.endpoint.parsing.rule=false -Dnacos.use.cloud.namespace.parsing=false.
Deploy Spring Cloud or Zuul gateways
Anda dapat mengakses aplikasi dengan meneruskan permintaan dari nama domain yang sama tetapi URL yang berbeda. Untuk informasi lebih lanjut, lihat Konfigurasikan Rute Gerbang untuk Aplikasi Menggunakan Instans CLB.
Lakukan peluncuran kanari ujung ke ujung dengan menambahkan header tertentu ke permintaan
Nama domain beberapa klien tidak dapat diubah. Anda dapat mengaitkan nama domain www.base.com dengan entri rute dan menambahkan header tertentu. Dengan cara ini, Anda dapat merutekan permintaan tertentu ke lingkungan rilis canary. Pada gambar berikut, permintaan dirutekan ke lingkungan rilis canary setelah header x-mse-tag:gray ditambahkan ke permintaan.
Header x-mse-tag hanya cocok untuk skenario yang dijelaskan dalam topik ini. Jangan gunakan header ini dalam skenario lain. Misalnya, jangan gunakan header x-mse-tag saat Anda mengonfigurasi aturan rilis canary untuk aplikasi. Untuk informasi lebih lanjut, lihat Kelola Aturan Rilis Canary untuk Aplikasi Java.

Verifikasi hasilnya.
Periksa apakah lalu lintas yang ditujukan untuk
www.base.comdirutekan ke lingkungan garis dasar.Jalankan perintah curl berikut:
curl -H"Host:www.base.com" http://106.14.XX.XX/aKeluaran perintah:
A[172.18.XX.XX] -> B[172.18.XX.XX] -> C[172.18.XX.XX]
Untuk merutekan permintaan ke lingkungan rilis canary, tambahkan header
x-mse-tag:grayke permintaan.Jalankan perintah curl berikut:
curl -H"Host:www.base.com" -H"x-mse-tag:gray" http://106.14.XX.XX/aKeluaran perintah:
Agray[172.18.XX.XX] -> Bgray[172.18.XX.XX] -> Cgray[172.18.XX.XX]%Keluaran di atas menunjukkan bahwa pengontrol Ingress Classic Load Balancer (CLB) merutekan permintaan ke lingkungan rilis canary Aplikasi A.