作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 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/
我是一名优秀的程序员,十分优秀!