Frage

Ich habe gelesen, dass Asyn Verarbeitung von HTTP-Anforderung in Tomcat 7 durch den Einsatz von SIP eine Web-Anwendungen der Leistung verbessern kann, aber ich war nicht sicher, wie wahr das ist. Ich habe gelesen, dass, wenn der Browser macht seine HTTP-Anforderung, den Thread, Griffe, dass Anforderung Spawns einen neuen Thread, der am SIP enpoint für neue Aktivität sitzt und wartet, und dann wird der Faden, der die Anfrage anfangs gehandhabt wird befreit. Aber jetzt gibt es noch einen Thread im Leerlauf Hören am SIP-Endpunkt sitzen. Ist das wirklich besser?

War es hilfreich?

Lösung

Es sollte klargestellt werden, dass während konvergente HTTP / SIP-Anwendungen sehr viel machen kann in der Server-Seite der asynchronen Verarbeitung Unterstützung heraus, es ist die asynchrone Verarbeitung Funktion allein, die eine höhere Leistung für den Web-Server bereitstellt.

Java Servlet 3.0 wurde die Unterstützung für asynchrone Anforderungsverarbeitung und Apache Tomcat 7 implementiert Java Servlet 3.0, so haben Sie die Unterstützung für asynchrone Verarbeitung gibt.

Mobicents Sip Servlets 2.x (http://www.mobicents.org/products_sip_servlets.html) Plattform ist bereits integriert mit Tomcat 7, während das Team arbeitet auf die Integration mit JBoss AS 7, das bedeutet, dass eine konvergente HTTP / SIP-Anwendung auf MSS 2.x-Plattform ausgeführt wird, kann der asynchronen Verarbeitungsunterstützung profitieren. Sie können ein Beispiel für eine konvergente siehe HTTP / SIP-Anwendung unter Verwendung der asynchronen Verarbeitung Unterstützung hier .

Was Java Servlet 3.0 asynchrone Unterstützung bietet, ist eine Möglichkeit, die Anfrage in eine Warteschlange zu stellen während des Wartens auf eine Ressource verfügbar wird, oder auf ein Ereignis warten, und bereiten Sie die Original-Thread, so dass es für neue Kunden zur Verfügung zu stellen. Während die Anforderung in der Warteschlange ist, werden keine Web-Server-Threads für diese verbraucht. Das ist ein effizienter Weg, um die verfügbaren Web-Server-Threads zu verarbeiten.

Also für Ihre Frage, eine konvergente Anwendung wird ohnehin warten für bestimmte SIP-Nachrichten, wie zum Beispiel SIP INVITE oder SIP BYE und wird je nach Bedarf handeln. Wenn nun in diesem Bild sehen Sie die Java-Servlets 3.0 asynchrone Verarbeitung hinzufügen, können Sie eine Benutzeroberfläche (Client-Seite), die in jeder SIP-Nachricht ohne teuren AJAX Polling-Mechanismus oder proprietären APIs aktualisiert werden kann. Das geschieht, indem die Anforderung des Clients in einer Warteschlange platziert, während für eine SIP-Nachricht wartet und der ursprüngliche Thread befreit werden. Wenn eine neue SIP-Nachricht kommt, dann wird eine Antwort an den Client gesendet werden.

Hofft, dass geholfen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top