Bạn sẽ làm gì khi muốn triển khai một tính năng đến một nhóm nhỏ người dùng thay vì toàn bộ người
dùng trong hệ thống? | HUY NGUYỄN
Feature Toggle (hay Feature Flags) và Fea-
ture Rollout là một kĩ thuật phổ biến giúp
bạn có thể quản lý được hành vi của phần
mềm của mình mà không cần phải đổi
code & deploy lại. Trong bài viết này mình
sẽ đi qua một vài tính năng từ cơ bản đến
nâng cao, đồng thời chia sẽ cách tiếp cận
để design và implement một hệ thống Fea-
ture Toggle/Feature Rollout nhỏ.
Một vài ứng dụng trong thực tế của kỹ thuật này:
Feature Control: tắt/bật tính năng cho toàn bộ hệ
thống, hoặc một vài khách hàng cụ thể
Feature Rollout: bật một tính năng từ từ cho tập người
dùng của mình, có thể trước mắt cho 1 vài người dùng cụ
thể, rồi sau đó bật tiếp cho những người dùng trong một
nước/khu vực nào đó.
BẬT/TẮT TOÀN CỤC
Trường hợp cơ bản nhất của Feature Toggle là giúp bạn
bật/tắt 1 tính năng mà không cần phải deploy lại code. Ví
dụ, chúng ta có tính năng XYZ như sau:
Lúc này, bạn có thể code & deploy tính năng xyz đó
trước, sau đó chọn thời điểm thích hợp để bật nó lên cho
toàn bộ hệ thống. Hoặc ngược lại, khi bạn phát hiện ra lỗi,
hoặc hệ thống quá tải, bạn có thể tắt bớt 1 vài tính năng
28
DIJSKTRA