我有一个ignite 5客户端+ 1服务器集群,客户端从网络接收请求并将REQ发送到ignite服务器以进行进一步处理,在我的情况下,我想为传入请求添加并发限制,我使用如下代码:
public boolean handleEntrustRequest(TestEntrustInfo TestEntrustInfo) {
if(!concurrencySemaphore.tryAcquire()){
return false;
}
try {
return handleEntrustRequestReal(TestEntrustInfo);
}finally {
concurrencySemaphore.release();
}
}
我尝试将限制号设置为100000,即对传入请求没有限制。
在较低的并发流量中(例如大约50〜100),代码运行平稳,但是在较高的流量下,我可以看到Request无法正常发送到Client,该请求似乎挂起,然后超时,但是如果我删除上面的代码,则传入的Request与可以快速处理1000个并发流量。
在此链接中:https : //cwiki.apache.org/confluence/display/OPENWHISK/2018-02-14+OW+Tech+Interchange+-+Meeting+Notes 我看到了这个词:
新的LB,即使在本地也保持状态一致,调用方impl的插槽。带有信号灯(并发程度低);
还要粘贴jstack:请在这里检查它 https://textsave.de/text/E5yRP0iEqSxkzwqw
慕田峪4524236
相关分类