netty 4 - 阻止工作线程

时间:2016-02-15 09:12:30

标签: netty

我希望有人能够对此有所了解。我的协议如下:

客户端使用自定义的基于TCP的文本协议或SOAP Web服务。客户端总是必须等待应用程序级响应,通信是同步的。 SOAP请求通过Tomcat Web应用程序处理,自定义协议请求由嵌入在Tomcat中的netty服务器处理。在我的场景中,如果客户端超时,只要他们没有得到响应,他们就会重新发送请求。现在我知道直接在工作线程中执行业务逻辑被认为是不好的做法,但在上面概述的场景中:

对实际业务逻辑使用单独的线程池有什么好处?是的,工作线程将被释放,但这只是将问题委托给单独的“业务”线程池。我的理解是,如果业务线程池耗尽,当业务池中的线程再次可用时,传入消息将排队并最终得到处理。但是客户端会在此期间超时,再次重新发送已处理的消息,从而在服务器上产生越来越多的负载。在这种情况下,是否可以直接在工作线程中执行业务逻辑?

感谢您的见解。

0 个答案:

没有答案