Peta dunia

 

EN: Read in English

Dunia C3: Lancar & Deploy

Recreate, rolling, blue/green, canary

Anda akan belajar: empat cara tukar kod lama kepada yang baharu, dan bila setiap satu sesuai.

Teks BM belum disemak oleh penutur asli.

Disemak dengan GitHub Actions 2026-10 pada 31 Okt 2026

Masalahnya

Ketik setiap titik pada garis masa.

Jumaat, 5 petang. Satu push hantar versi baharu kepada semua orang. Ada bug. Tekan setiap detik. Macam mana nak kurangkan mangsa?

Tengok

Cara 1: recreate: Hentikan versi lama, kemudian mulakan yang baharu. Macam tutup gerai untuk tukar menu: pelanggan kena tunggu.. Tutup gerai, tukar menu, buka semula. Versi lama berhenti, kemudian versi baharu bermula. Apa pelanggan nampak di tengah-tengah?

Pilih satu jawapan.

Tengok

Cara 2: rolling update: Tukar salinan satu demi satu, macam tukar tukang masak seorang demi seorang. Gerai tak pernah tutup.. Tukar tukang masak seorang demi seorang. Gerai tak pernah tutup. Susun langkahnya.

Langkah pertama di atas. Susun ikut turutan. Guna anak panah, atau seret.

  • Mulakan satu salinan versi 2
  • Hentikan satu salinan versi 1
  • Ulang sampai semua salinan jadi versi 2
  • Semak salinan itu sihat

Cuba

Cara 3: blue/green (blue/green deployment): Dua dapur penuh. Uji yang baharu, kemudian tukar papan tanda supaya semua ke sana. Tukar balik untuk undur.. Dua dapur penuh. Versi 2 menunggu di sebelah versi 1. Uji dulu, kemudian alihkan semua orang. Ada masalah? Alih balik.

v2 sedia di sebelah v1. Uji dahulu, atau tukar. Tukar balik jika ralat melonjak.

Pengguna sekarang: 100% di v1 (lama), 0% di v2 (baharu).

Kadar ralat setiap minit
0%6%11%amaranminit →

v1 (lama) v2 (baharu)

Minit 0

Pengguna yang kena ralat v2: 0 (had 150)

Nombor, minit demi minit

Belum ada trafik.

Tengok

Cara 4: canary (canary release): Sedikit pengguna dapat versi baharu dulu, macam beberapa pelanggan rasa hidangan baharu. Okey? Hidang kepada lebih ramai.. Beberapa pelanggan rasa hidangan baharu dulu. Semua okey? Hidang kepada lebih ramai. Susun setiap fakta.

Seret kad ke dalam kotak. Atau ketik kad, kemudian ketik kotak.

      Cuba

      Giliran anda. Hantar pengguna ke versi 2, langkah demi langkah. Perhati graf. Rollback sebelum 150 pengguna kena bug.

      Hantar sedikit pengguna ke v2. Tengok graf. Roll back jika ralat melonjak.

      Pengguna sekarang: 100% di v1 (lama), 0% di v2 (baharu).

      Kadar ralat setiap minit
      0%6%11%amaranminit →

      v1 (lama) v2 (baharu)

      Minit 0

      Pengguna yang kena ralat v2: 0 (had 150)

      Nombor, minit demi minit

      Belum ada trafik.

      Teka

      Versi 2 tukar nama satu lajur pangkalan data. Versi 1 crash tanpa nama lama. Cara mana sesuai?

      Pilih satu jawapan.

      Anda berjaya!

      Kini anda boleh pilih cara selamat untuk tukar versi.

      Nak tahu lebih (pilihan)

      Kubernetes guna rolling update secara lalai (Dunia K2). Cloudflare Workers boleh buat canary untuk anda, dipanggil gradual deployment. Muat naik versi tanpa trafik, kemudian pilih bahagiannya.

      bash
      npx wrangler versions upload
      npx wrangler versions deploy
      Dua arahan Wrangler: muat naik versi baharu, kemudian bahagikan trafik antara versi.

      Latihan sebenar (pilihan): cuba pada Worker ujian percuma, bukan milik pasukan anda. Hantar 10% ke versi baharu, kemudian rollback.