gpt4 book ai didi

jakarta-ee - JAXRS/RestEasy 限制请求率

转载 作者:行者123 更新时间:2023-12-03 23:58:36 29 4
gpt4 key购买 nike

我有一个 Restful API,用于通过 POST 将一些文件从远程节点上传到服务器

如果我关闭服务器,上传会在远程排队,这样当服务器重新联机时,可能会有大量请求进入,这可能会导致服务器关闭

应用程序托管在带有 Apache 前端的 JBoss 服务器集群上

所以我的问题是:是否有任何内置/有效的解决方案来限制并发请求的数量?在 Apache/JBoss/RestEasy - 应用程序级别

此时,调用的 API 必须返回 200(成功),否则上传将停留在远程队列中,并会在固定时间段后重试

我正在考虑只将当前请求数存储在数据库中并设置一个阈值,如果超过阈值则拒绝请求,以便远程节点在一段时间后再次尝试,但我希望会有是一个更优雅的解决方案

最佳答案

如果您通过带有 mod_proxy 的 apache 访问 REST 应用程序,也许您可​​以尝试限制到后端的最大并发连接数,例如:

ProxyPass /application/rest http://localhost:8080/application/rest max=10
ProxyPass /application http://localhost:8080/application

通过这种方式,您应该将与/application/rest 的连接限制为最多 10 个。取自 apache 文档 http://httpd.apache.org/docs/2.2/mod/mod_proxy.html#proxypass

请注意,这仅在您的 Apache 已在 MPM 模式下编译时有效。如果 Apache 编译为 prefork 模式,它会为每个请求生成一个新进程,并且“max”属性只影响每个进程,因此没有实际效果。

关于jakarta-ee - JAXRS/RestEasy 限制请求率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23413284/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com