--- title: "Feature Flag" type: concept tags: [持续交付, 特性管理, 发布工程] sources: ["https://launchdarkly.com/blog/rto-vs-rpo/"] last_updated: 2025-07-26 --- ## Definition Feature Flag(特性开关)是一种将代码部署与功能发布分离的技术,允许在不重新部署的情况下通过配置切换代码执行路径。 ## Key Concepts - Deploy != Release:部署代码但不立即向用户开放 - Kill Switch:紧急关闭机制,用于快速禁用问题功能 - 渐进式 Rollout:分阶段向用户群发布(1% → 5% → 25% → 100%) ## Benefits for RTO/RPO - RTO:从小时级降至秒级(只需关闭开关) - RPO:Rollback 时不丢失数据,只需切换代码路径 ## Code Example ```javascript if (featureFlag.enabled('new-checkout-flow')) { return newCheckoutProcess(); } else { return oldCheckoutProcess(); } ``` ## Connections - [[Kill Switch]] ← 紧急机制 → [[Feature Flag]] - [[渐进式发布]] ← 发布策略 → [[Feature Flag]] - [[RTO (Recovery Time Objective)]] ← 降低工具 → [[Feature Flag]] - [[RPO (Recovery Point Objective)]] ← 保护工具 → [[Feature Flag]] - [[LaunchDarkly]] ← 平台 → [[Feature Flag]]