您可以做到这一点的最简单方法是通过功能标志。您使用 V2 的代码部署应用程序,但它仅适用于特定的一组用户。
为此,您需要一个特征标记系统。
Launch Darkly 提供功能标记作为服务,我使用过它,但我不能推荐它。
作为其工作原理的一个小预览,首先您需要使用 SDK(您从平台获得)创建一个客户端对象:
LDClient ldClient = new LDClient("YOUR_SDK_KEY");
然后您需要构建一个LDUser 对象,这只是对您的用户的抽象:
LDUser user = new LDUser("user@test.com");
然后您只需使用这些对象来检查功能标志的状态。您在平台上配置功能,您可以在其中看到漂亮的图表和报告(何时使用或不使用功能等)
boolean showFeature = ldClient.boolVariation("your.feature.key", user, false);
if (showFeature) {
// application code to show the feature (the V2 functionality, in your case)
}
else {
// the code to run if the feature is off (the V1 functionality)
}
如果您不想使用它,您可以构建自己的系统,这取决于您的用例是否真的值得付出努力(对于简单的场景,您可以将此系统视为只是一个带有前面有一个API)