SuperAPI AI 工具集

feature-flags

通用与其它

查看项目

更新于 10-16 03:04

技能介绍

用途:在不重新部署代码的前提下,于运行时控制功能可用性,支持渐进式发布、A/B 测试、用户定向、紧急 kill switch、ML 模型切换与基础设施配置。

主要能力:

  • 标志类型:布尔开关、百分比发布(基于 salt+userId 的一致性哈希分桶)、用户定向(按 email、plan、country 等属性与 in/notIn/equals/contains/startsWith/matches 规则匹配)、多变量标志(按权重分配变体,用于 A/B 测试)。
  • 自定义实现:FeatureFlagService 使用 Redis 存储标志、本地缓存(TTL 60 秒)、evaluate/evaluateVariant 求值,并通过 Redis 发布订阅广播变更。
  • 渐进发布与金丝雀:RolloutManager 支持 linear/exponential/manual 策略,可暂停与回滚(百分比归零并禁用)。
  • A/B 测试:ABTestingService 记录曝光与转化,用 Z 检验判断统计显著性(95% 阈值 1.96,99% 为 2.58)。
  • Kill Switch:KillSwitchService 支持激活/停用、广播、告警与自动恢复,应用代码先检查开关再执行关键流程。
  • 生命周期管理:标志状态含 planning、development、testing、rollout、stable、deprecated、removed,并跟踪负责人、团队、计划移除日期与陈旧检测。

使用方式:资料给出 TypeScript 接口与类实现示例,依赖 ioredis 与 crypto;集成 LaunchDarkly/Unleash 的具体步骤暂未提供。

适用场景:需要灰度发布、实验分流、紧急熔断或运行时配置切换的团队。

限制:资料未提供安装命令、定价、平台支持范围与完整集成文档;示例代码需按实际环境调整。