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ì.
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ả.
- Deploy bản mới với flag
checkout_v2mặ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 - Migration expand: thêm cột nullable
discount_breakdowndướilock_timeout - Ramp 1% → 10% → 50% khách theo hash
user_id, giữ mỗi nấc đủ lâu và so cohort v2 với control - Dựng dashboard tách cohort theo label
variantmà 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 - Bật 100%, giữ flag thêm một chu kỳ cao điểm làm kill switch
- Xoá flag và nhánh checkout cũ trong một lần deploy riêng
- 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.