我有一项新功能,我不想一次性减少损失。我们希望选择10%的请求来实现此功能。我想知道我是否可以在JavaScript中轻松完成这项工作?
在我的脑海中,我正在考虑使用Array来存储请求并选择一部分。有一个更好的方法吗?
我有来自Express
的这段代码doSomething: function(request, response) {
// new functionality << how can I control how many requests hitting this block of code? Like 10 percent of the requests
// old functionality
}
我不在乎其余的请求是否被删除。我们现在有2500个请求,我担心如果我一次性使用这个功能,事情就会崩溃。这是一个非常密集的计算代码。
答案 0 :(得分:1)
这不是很简单吗?或者我不理解你的问题......
var numRequests=0;
//snip
doSomething: function(request, response) {
if (numRequests++ %10 === 0){
//new functionality
}
else{
//old
}
}
答案 1 :(得分:0)
当然没有州......
doSomething: function(request, response) {
if (Math.random() < 0.1) {
// new functionality
} else {
// old functionality
}
}
请不要将其用于某种A / B测试或金丝雀部署。为此,您需要N个实例并慢慢路由到新实例。
我使用上面的例子进行数据库调用,每次路由被击中时我都不需要这样做。