gpt4 book ai didi

spring-boot - 如何在 Http 入站网关中同时接受固定数量的请求?

转载 作者:行者123 更新时间:2023-11-28 22:47:45 24 4
gpt4 key购买 nike

我正在使用 Tomcat,我将 http:inbound-gateway 作为网关,并将名为 request 的 channel 配置为请求 channel 。有时我的服务上有很多请求,导致出现 Too many open files 来自操作系统的错误。我试图将 request channel 设为 QueChannel 并为其设置容量,但它不起作用。然后我尝试将 request channel 设置为轮询消费者 channel ,并设置一个具有固定延迟的轮询器进行轮询,但它再次不起作用。有没有一种传统的方法来限制输入请求的数量?以及如何在丢弃的请求中自定义响应?

<int:channel id="request">
<int:queue capacity="100"/>
</int:channel>
...
<int-http:inbound-gateway id="RESTServiceGateway"
supported-methods="GET"
request-channel="request"
error-channel="errorResolver" />

<int:chain input-channel="request" output-channel="response">
<int:poller fixed-delay="1" max-messages-per-poll=""/>
...

或者

<task:executor id="requestExecutor" pool-size="1-10" queue-capacity="10"/>
<int:channel id="request">
<int:dispatcher task-executor="requestExecutor"/>
</int:channel>
<int-http:inbound-gateway id="RESTServiceGateway"
supported-methods="GET"
request-channel="request"
error-channel="errorResolver" />

<int:chain input-channel="request" output-channel="response">
...

最佳答案

Too many open files 与您的集成流程配置无关。这是关于从 HTTP 客户端到您的 Tomcat 的打开的套接字。这个已经是并发的了,可以并行处理很多请求。因此,我会说您在流程中的并行逻辑不会带来太多值(value),而且绝对不会影响打开的套接字数量。

虽然您可以在 Tomcat 中配置并发:maxConnections in server.xml .

另一种选择是使用 ulimit 工具增加 Linux 上打开文件的数量:https://www.tecmint.com/increase-set-open-file-limits-in-linux/

关于spring-boot - 如何在 Http 入站网关中同时接受固定数量的请求?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52604986/

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