Bỏ qua để đến nội dung
Knowledge Hub

Sắp xếp: phát hành checkout mới bằng canary và feature flag Trung cấp

Thời gian đọc ước tính: 1 phút

Thay đổi checkout rủi ro không nên đến với mọi khách cùng lúc. Canary và feature flag cho bạn tăng phơi nhiễm từng nấc, nhưng chỉ khi các bước đi đúng thứ tự: schema trước code, deploy trước release, tiêu chí dừng trước khi ai thấy tính năng.

Sắp xếp 7 bước dưới đây. Bấm Kiểm tra để biết bước nào sai chỗ và sai thì hỏng gì.

Sắp xếp

Phát hành checkout mới bằng canary và feature flag

Checkout v2 đổi cách tính khuyến mãi và ghi chi tiết vào cột mới orders.discount_breakdown. Checkout chạy 20 pod, rolling deploy, SLO: 99,9% request checkout thành công, p99 ≤ 800 ms.

Sắp xếp các bước để mọi lúc đều tắt được trong vài giây và không người dùng nào gặp lỗi do thứ tự sai.

Dùng ▲▼ để đổi chỗ từng bước, hoặc chạm ⠿ của một bước rồi chạm vào vị trí mới. Trên máy tính có thể kéo thả.

  1. Deploy bản mới với flag checkout_v2 mặc định off: canary 1/20 pod, so với 19 pod còn lại, đạt thì rolling hếtfallback khi flag service không trả lời: false
  2. Migration expand: thêm cột nullable discount_breakdown dưới lock_timeout
  3. Ramp 1% → 10% → 50% khách theo hash user_id, giữ mỗi nấc đủ lâu và so cohort v2 với control
  4. Dựng dashboard tách cohort theo label variant mà bản mới đã phát, chốt tiêu chí abort và người có quyền tắt flagabort nếu cohort v2: tỷ lệ lỗi cao hơn control 0,1 điểm %, hoặc p99 > 800 ms, trong 10 phút
  5. Bật 100%, giữ flag thêm một chu kỳ cao điểm làm kill switch
  6. Xoá flag và nhánh checkout cũ trong một lần deploy riêng
  7. Bật flag cho nhân viên nội bộ, đặt vài đơn thật với mã khuyến mãi phổ biến

Vòng đời một release flag và cách tránh flag debt: Config trên Kubernetes.