2011-01-15 2 views
1

Я читал, что обработка HTTP-запросов Asyn в Tomcat 7 с использованием SIP может улучшить производительность веб-приложений, но я не был уверен, насколько это верно. Я прочитал, что когда браузер делает свой HTTP-запрос, поток, который обрабатывает этот запрос, порождает новый поток, который сидит и ждет нового действия в точке доступа SIP, а затем поток, который изначально обрабатывал запрос, освобождается. Но теперь есть еще один поток, который сидит в режиме ожидания на конечной точке SIP. Это действительно лучше?Производительность запроса Async с SIP Servlet's в Tomcat 7

ответ

2

Должно быть ясно, что в то время как конвергентные приложения HTTP/SIP могут значительно отличаться от поддержки асинхронной обработки на стороне сервера, именно одна асинхронная функция обработки обеспечивает большую производительность для веб-сервера.

Java Servlet 3.0 представил поддержку для обработки асинхронных запросов, а Apache Tomcat 7 реализует Java Servlet 3.0, поэтому у вас есть поддержка асинхронной обработки.

Mobicents Sip Servlets 2.x (http://www.mobicents.org/products_sip_servlets.html) платформа уже интегрирована с Tomcat 7, в то время как команда работает над интеграцией с JBoss AS 7, что означает, что конвергентный Приложение HTTP/SIP, работающее на платформе MSS 2.x, может воспользоваться поддержкой асинхронной обработки. Вы можете увидеть пример конвергентного приложения HTTP/SIP, использующего поддержку асинхронной обработки here.

Поддержка асинхронной поддержки Java Servlet 3.0 - способ разместить запрос в очереди, ожидая, когда ресурс станет доступным или ждет событие, и переработает исходный поток, что сделает его доступным для новых клиентов. Пока запрос находится в очереди, для этого не используются потоки веб-сервера. Это более эффективный способ обработки доступных потоков веб-сервера.

Итак, для вашего вопроса конвергентное приложение будет в любом случае ждать определенных SIP-сообщений, таких как SIP INVITE или SIP BYE, и будет действовать по мере необходимости. Если теперь на этой картинке вы добавляете асинхронную обработку Java Servlets 3.0, вы можете иметь пользовательский интерфейс (веб-страницу клиента), который может быть обновлен в каждом SIP-сообщении без какого-либо дорогостоящего механизма опроса AJAX или проприетарных API-интерфейсов. Это произойдет, поставив запрос клиента в очередь, ожидая сообщения SIP, и исходный поток будет освобожден. Когда появится новое сообщение SIP, ответ будет отправлен клиенту.

Надеялся, что помогло.

Смежные вопросы