SuperAPI AI 工具集

loom-feature-flags

部署与运维

查看项目

更新于 10-15 20:28

技能介绍

用途:在不重新部署的前提下运行时控制功能可用性,用于灰度/百分比/canary 发布、A/B 实验、kill switch 与运行时配置。

主要能力与要点:

  1. 开关分类:release toggle(短期,需清理)、experiment(实验期)、ops/kill-switch(长期、热路径零外部调用)、permission(长期配置)。不同类型生命周期与归属不同,不应混用同一抽象。
  2. 确定性分桶:以稳定单元(userId、持久化 cookie/device id、orgId)加 flag key 作盐做哈希,映射到 [0,100)。要求确定性、单调递增(提高百分比只新增用户)、跨服务一致。示例用 SHA1 取 32 位再归一化,避免取模偏差。
  3. 灰度与 canary:按 1%→5%→25%→50%→100% 递增,观察错误率、延迟与业务指标;回滚即把百分比设为 0 或 enabled=false,而非重新部署。
  4. 定向规则:规则有序、首个匹配生效,操作符含 in/notIn/equals/contains/startsWith/matches;求值须无副作用且廉价,规则集一次加载后在内存求值。matches 正则视为不可信输入,注意 ReDoS。
  5. Kill switch:热路径只读本地缓存并返回已知安全默认值,绝不因开关服务故障而拖垮应用;激活需告警与审计。
  6. 实验:按实验独立盐保证正交;在真正影响用户处记录一次曝光;用双比例 z 检验判断显著性,避免偷看与样本比例失衡。
  7. 生命周期:创建时记录 createdAt、owner、type、移除工单与日期;短期开关到期告警;清理时删除开关与死分支。避免嵌套/依赖开关。
  8. 交付模式:流式(SSE)、轮询、本地求值、远程逐次求值,各有延迟、陈旧窗口与隐私取舍;服务端优先本地求值或流式,客户端由服务端下发结果。
  9. 标准与 SDK:OpenFeature 提供厂商中立 API 与可替换 Provider;LaunchDarkly 服务端 SDK 需 waitForInitialization,variationDetail 可查服务原因。
  10. 模型/基础设施开关:按健康度与延迟路由并设 fallback,记录推理与成本。

限制:资料未提供具体收费、价格、平台支持范围或效果数据;示例为 TypeScript,其他语言需自行适配。