java - vert.x 应用程序的限制

标签 java spring cloud-foundry vert.x

我有一个托管在 Cloud Foundry 上的 vert.x 应用程序。我必须实现一个限制条件,根据可用内存限制请求,就像 Spring 中的 InterceptorHandler 所做的那样。那么有没有办法在请求实际到达服务器内存之前拦截对服务器的 HTTP 请求?

最佳答案

我认为您的意图是尽快限制请求,这就是您所说的“未到达内存”的意思。

为此,您可以使用一个简单的全局处理程序,因为在 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 使用有限数量的线程。该数字不受传入请求量的影响。所以我不建议基于内存进行限制。

关于java - vert.x 应用程序的限制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52092267/

相关文章:

java - cloudfoundry java buildpack 内存更改未反射(reflect)

php - 使用 boost 进程间库的 php exec 的共享内存和 Cloudfoundry 容器问题

java - 在java中使用选择排序对整数数组进行排序。找不到我的错误

java - 如何从 WEB-INF/classes 目录中的类写入 WebContent 目录中的文件

java - 通过注释名称查找 pojo 字段

java - Spring RestTemplate 在从 Twitter 获取数据时提供 401 Authorization Required

Angular2 - cloudfoundry 上的 Nginx 路由 404 错误

java - 什么是套接字绑定(bind)以及如何绑定(bind)地址?

java - 如何在 Scala 中使用 java.String.format?

java - 测试 Spring 时创建 bean 时出错