--- title: "Micro-Recovery (微恢复)" tags: [devops, disaster-recovery, reliability, feature-management] created: 2026-04-25 --- # Micro-Recovery (微恢复) **Micro-Recovery**(微恢复)是指不回滚整个部署,而是针对特定功能(Feature)进行精准恢复的能力。它是 [[Feature Flag]] 带来的核心理念转变:不再将整个应用视为单一恢复单元,而是按功能粒度进行风险管理。 ## Definition > "Don't treat your entire app like one big system. Different features have different risks and business impacts, so they should have different recovery targets." 传统灾备将整个系统作为恢复目标,而 Micro-Recovery 将恢复粒度缩小到单个功能模块。 ## 传统方式 vs. Micro-Recovery | 维度 | 传统全量回滚 | Micro-Recovery | |------|-------------|----------------| | 恢复粒度 | 整个部署/系统 | 单个功能 | | RTO | 小时级 | 秒级 | | RPO | 取决于备份频率 | 近零 | | 影响范围 | 全局(所有用户) | 局部(可定向) | | 用户体验 | 可能感知到中断 | 可能完全无感知 | ## Feature-Level Recovery Targets 不同功能有不同的风险和业务影响: | 功能类型 | RTO 目标 | RPO 目标 | 恢复策略 | |----------|----------|----------|----------| | 核心支付处理 | 秒级 | 零丢失 | Kill Switch → 备用提供商 | | 新推荐引擎 | 5 分钟 | 15 分钟 | Feature Flag → 旧算法 | | Beta 仪表盘功能 | 30 分钟 | 1 小时 | Feature Flag → 禁用该功能 | ## Micro-Recovery 的优势 ### 1. 精准止血 发现某功能异常时,只关闭该功能,其他正常功能不受影响。 ### 2. 用户无感知 > "Your checkout flow has a bug? Disable the new version and fall back to the old one in seconds. Users might not even notice." ### 3. 数据保护 [[Feature Flag]] 切换只改变代码执行路径,不触碰数据层,RPO 不受影响。 ### 4. 定向恢复 如果某功能只影响特定地区或用户群,可以只针对该群体禁用,其他用户继续使用新功能。 ## 实现方式 Micro-Recovery 通过 [[Feature Flag]] 实现: ```javascript // 结账流程示例 async function checkoutFlow(userId, cart) { // Feature Flag 控制是否使用新版结账 if (await flags.enabled('new-checkout-v2', userId)) { return newCheckoutProcess(cart); // 故障时 → 切换到旧版 } return legacyCheckoutProcess(cart); } ``` ## Micro-Recovery vs. 其他恢复模式 | 模式 | 恢复粒度 | RTO | RPO | 复杂度 | |------|----------|-----|-----|--------| | 传统灾备 | 系统/数据中心 | 小时级 | 取决于备份 | 高 | | CI/CD 回滚 | 部署版本 | 分钟级 | 可能丢失 | 中 | | Kill Switch | 组件/功能 | 秒级 | 近零 | 低 | | **Micro-Recovery** | **单个功能** | **秒级** | **近零** | **低** | ## 实践建议 1. **功能分级**:不是所有功能都需要 Micro-Recovery 能力,关键路径必须有 2. **Fallback 路径**:每个 Feature Flag 需要有明确的降级路径(Fallback) 3. **可观测性**:每次切换需要有清晰的日志和监控 4. **文档化**:哪些功能支持 Micro-Recovery?团队需要知道 ## Related Concepts - [[Feature Flag]] — Micro-Recovery 的技术基础 - [[Kill Switch]] — Micro-Recovery 的紧急实现方式 - [[RTO]] — Micro-Recovery 将 RTO 从小时降至秒级 - [[RPO]] — Micro-Recovery 保护 RPO(不触碰数据层) - [[Progressive Rollout]] — Micro-Recovery 与渐进式放量结合实现精细化风险控制 - [[Disaster Recovery]] — Micro-Recovery 是现代灾备的重要组成部分 ## Sources - [[sources/rto-vs-rpo-key-differences-for-modern-disaster-recovery.md]]