Java 使用SIPServlet的异步请求性能';Tomcat 7中的s

Java 使用SIPServlet的异步请求性能';Tomcat 7中的s,java,http,sip,tomcat7,Java,Http,Sip,Tomcat7,我已经读到,通过使用SIP在Tomcat7中对HTTP请求进行Asyn处理可以提高web应用程序的性能,但我不确定这是否正确。我已经读到,当浏览器发出HTTP请求时,处理该请求的线程生成一个新线程,该线程在SIP enpoint等待新活动,然后最初处理该请求的线程被释放。但是现在仍然有一个线程闲置在SIP端点上监听。这真的更好吗 应该明确的是,虽然聚合HTTP/SIP应用程序可以极大地利用服务器端的异步处理支持,但只有异步处理功能才能为web服务器提供更高的性能 JavaServlet3.0引入

我已经读到,通过使用SIP在Tomcat7中对HTTP请求进行Asyn处理可以提高web应用程序的性能,但我不确定这是否正确。我已经读到,当浏览器发出HTTP请求时,处理该请求的线程生成一个新线程,该线程在SIP enpoint等待新活动,然后最初处理该请求的线程被释放。但是现在仍然有一个线程闲置在SIP端点上监听。这真的更好吗

应该明确的是,虽然聚合HTTP/SIP应用程序可以极大地利用服务器端的异步处理支持,但只有异步处理功能才能为web服务器提供更高的性能

JavaServlet3.0引入了对异步请求处理的支持,ApacheTomcat7实现了JavaServlet3.0,因此您可以在那里支持异步处理

Mobicents Sip Servlets 2.x(http://www.mobicents.org/products_sip_servlets.html)平台已经与Tomcat 7集成,而团队正在努力与JBoss AS 7集成,这意味着运行在MSS 2.x平台上的聚合HTTP/SIP应用程序可以受益于异步处理支持。您可以看到一个使用异步处理支持的聚合HTTP/SIP应用程序的示例

JavaServlet3.0异步支持提供的是一种方法,在等待资源可用或等待事件时将请求放入队列,并回收原始线程,从而使其可用于新客户端。当请求在队列中时,不会为此消耗任何web服务器线程。这是处理可用web服务器线程的更有效的方法

因此,对于您的问题,聚合应用程序无论如何都会等待某些SIP消息,如SIP INVITE或SIP BYE,并根据需要进行操作。如果现在在这幅图中添加Java Servlets 3.0异步处理,您可以拥有一个用户界面(客户机的网页),它可以在每个SIP消息中更新,而无需任何昂贵的AJAX轮询机制或专有API。这将通过在等待SIP消息时将客户机的请求放入队列来实现,原始线程将被释放。当出现新的SIP消息时,将向客户端发送响应

希望这有帮助