全部产品
Search
文档中心

Serverless App Engine:Skenario online: Melakukan peluncuran kanari ujung ke ujung menggunakan Spring Cloud yang dikelola sendiri atau gerbang Zuul

更新时间:Oct 11, 2025

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

  1. Unduh paket demo.

  2. 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.

  3. Deploy aplikasi rilis canary berikut: Aplikasi A-gray, Aplikasi B-gray, dan Aplikasi C-gray. Tambahkan -Dalicloud.service.tag=gray ke perintah startup untuk membedakan aplikasi rilis canary dengan aplikasi backbone.

Catatan

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.

Peringatan

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.

dg_implement_end_to_end_canary_release_by_using_self-managed_spring _cloud_or_zuul_gateways

Verifikasi hasilnya.

  • Periksa apakah lalu lintas yang ditujukan untuk www.base.com dirutekan ke lingkungan garis dasar.

    • Jalankan perintah curl berikut:

      curl -H"Host:www.base.com" http://106.14.XX.XX/a
    • Keluaran 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:gray ke permintaan.

    • Jalankan perintah curl berikut:

      curl -H"Host:www.base.com"  -H"x-mse-tag:gray" http://106.14.XX.XX/a
    • Keluaran 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.