Welche NIO-Bibliothek (Netty, Grizzly, Kryonet, ...) für die einfache Implementierung eines Backend-Servers in Java?
Unser frontend ist einfach Jetty (könnte ersetzt werden mit Tomcat später) server. Durch servlets, bieten wir einen öffentlichen HTTP-API (mehr oder weniger Erholsame) zu, dass unsere Produkt-Funktionalität.
Im backend, haben wir ein Java-Prozess, der mehrere Art von Instandhaltung. Während die backend-Prozess tut es in der Regel eigene Aufgaben, wenn es Zeit ist, jetzt und dann, das frontend muss wake-up-backend zum ausführen einer bestimmten task in den hintergrund.
Welche (N)IO-Bibliothek wäre ideal für diese Aufgabe? Ich fand Netty, Grizzly, kryonet und einfachen RMI. Für jetzt, ich bin geneigt zu sagen, Netty, es scheint einfach zu bedienen und es ist wohl sehr zuverlässig.
Hat jemand von Euch Erfahrung in dieser Art des setups? Was wäre Ihre Wahl?
Dank!
InformationsquelleAutor der Frage Japer D. | 2011-11-25
Du musst angemeldet sein, um einen Kommentar abzugeben.
Versuchen zu übersetzen diesem Dokument, die Antwort auf Ihre Frage.
http://blog.xebia.fr/2011/11/09/java-nio-et-framework-web-haute-performance/
Dieser Gesellschaft, wie die französische berühmte Java-EE-Experten, hat eine Menge von poc von NIO-Server im Kontext einer französischen challenge gesponsert von VmWare (USI2011). Es wurde über den Bau einer einfachen quizz-app und kann mit einer Last von 1 Millionen angeschlossenen Benutzern.
Gewannen Sie die Herausforderung an-mit sehr guten Ergebnissen.
Ihre Umsetzung war Netty + Gemfire und Sie nur ersetzt, das CachedThreadPool durch eine MemoryAwareThreadPool.
Netty scheint zu bieten die tollen Auftritte, und ist gut dokumentiert.
Sie auch als Geschickte, inspiriert von Tornado (python/facebook), aber es ist noch ein bisschen unreif für Sie
Edit: hier ist die übersetzt link in die Kommentare
InformationsquelleAutor der Antwort Sebastien Lorber
Meine Vorliebe ist Netty. Es ist einfach und doch flexibel. Sehr schnell und die community rund um Netty ist genial.
InformationsquelleAutor der Antwort Mike Heath
Die Firma für die ich arbeite ist derzeit die Bewertung CoralReactor. Es ist eine kommerzielle software, aber es ist die einfachste API die ich je gesehen habe für Java NIO. Meine persönliche Meinung ist, dass Netty macht die Sache zu kompliziert, vor allem, wenn Sie gehen wollen, garbage-free-und single-threaded, die eine Voraussetzung für viele Unternehmen aus der Finanz -, Werbe-und game-Industrie.
InformationsquelleAutor der Antwort LatencyGuy
Ich würde entkoppeln Sie durch die Verwendung von JMS, nur ein paar (set) - Steuerung stellt Ihre backend sitzt da hören Sie auf und du bist fertig. Keine Notwendigkeit zum schreiben eines benutzerdefinierten nio-api hier.
Einer Probe-Anbieter ist hornetq. Dieser kann ausgeführt werden als eine in-process-jms-broker als auch, es nutzt Netty unter der Decke.
InformationsquelleAutor der Antwort Matt