我在 Hacker News 上关于功能标志的帖子中发表了以下评论,以回应这篇文章It’s OK to hardcode feature flags 。这引发了一场关于构建与购买以及大规模运行功能标志的高质量对话,涉及一群非常有经验和知识渊博的人。我建议阅读评论。
功能标志的最大附加值是它们降低了部署风险。它们使打开和关闭功能变得不那么可怕和困难,这意味着您会更频繁地这样做。这意味着您可以更加自信地构建并从您构建的内容中更快地学习。那很值钱。
我认为在必须重新部署才能更改的 JSON 文件中包含功能标志与使用(通常昂贵的)功能标志作为服务平台之间存在一个合理的中间点:推出您自己的简单系统。
在具有十几条记录的表中针对主键进行关系数据库查找实际上是免费的。哎呀,在每个请求开始时加载整个集合 – 通过短暂的缓存(如果您的分析表明这会有所帮助)。
一旦您开始变得更加复杂(为特定用户启用标志等),您应该更认真地考虑构建与购买,但对于最基本的版本,您确实可以以最小的成本和最小的努力进行无部署更改。
您也可以在这里使用一些很好的开源库,尽管我在过去五年中没有去寻找任何库。
原文: https://simonwillison.net/2025/Feb/2/feature-flags/#atom-everything