我有一个托管在Cloud Foundry上的vert.x应用程序。我必须以InterceptorHandler在Spring中执行的一种方式来实现限制条件,以限制基于空闲内存的请求。那么有没有办法在请求实际到达服务器内存之前拦截对服务器的HTTP请求?
答案 0 :(得分:1)
我认为您的意图是尽快限制请求,这就是您“未到达内存”的意思。
为此,您可以使用一个简单的全局处理程序,因为在Vert.x中,每个处理程序都是某种拦截器。
router.route().handler(ctx -> {
// Probably you want to check some request properties
if (isThrottled(ctx)) {
ctx.response().setStatusCode(504).end();
}
else {
// All is good, continue
ctx.next();
}
});
不过,我还必须指出,与Spring不同,Vert.x具有恒定的内存占用量,因为Vert.x使用有限数量的线程。此数字不受传入请求数量的影响。因此,我不建议您根据内存进行节流。