我们有一个可在更多平台(iOS、Android 和多个后端微服务:nodeJS、Python)上使用的应用程序。当我们开发新功能并准备就绪时,我们希望同时在所有平台上提供它。如果出现问题,我们想将其关闭。
例如:
var featureEnabled = featureService.isMyNewFeatureEnabled();
if (featureEnabled === true) {
// turn on my new feature
}
else {
// use my legacy feature
}
最好的方法是什么?
最佳答案
现在我们已经实现了自己的解决方案。我非常后悔。起初,通过在包含功能标志值的服务器上下载可下载的配置 JSON,这似乎是一项简单的任务。还有一个用于编辑它们的简约管理页面。 当我们想要添加异常(exception)时,复杂性会提高。就像为一个用户组提供一个值(value),为另一个分割市场提供另一个值(value)。所谓的 A/B 测试。在尝试破解我们当前解决方案中的此功能后,我们设法说服了管理层并获得了适当的功能标志服务。
这些是我们评估的:
- Configcat (最符合我们主观需求的那个)
- Launchdarkly
- Split
- Rollout
关于python - 如何使功能可切换?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57171957/