Menü
Developer

Netty 4.0.0 kann Buffer-Pooling und unterstützt mehr Protokolle

vorlesen Drucken Kommentare lesen 1 Beitrag

Das maßgeblich von Red Hat und Twitter für Java-Netzwerk-Applikationen entwickelte NIO-Client/Server-Framework Netty ist in Version 4.0 erschienen. Das unter der Apache-2-Lizenz stehende Netty kommt außer bei den beiden Unternehmen unter anderem beim Scala-Framework Play zum Einsatz.

Eine der wichtigsten Änderungen ist die Einführung von Buffer Pooling. Dieses erlaubt die Wiederverwendung von zuvor erstellten Buffern, die genutzt werden, um Daten vom unterliegenden Socket zu lesen und zu schreiben. Hierdurch entfällt der "Overhead", der durch die Erzeugung und "Zerstörung" von Buffern benötigt wird. Es ist vollkommen frei konfigurierbar, und somit steht es jedem Nutzer frei, Pooling zu verwenden oder nicht.

Des Weiteren wurde die IO-Thread-Zuweisung flexibler gestaltet. Somit ist es nun möglich, explizit einzelne Verbindungen auf einen "Thread" zu "pinnen". Außerdem ist es nun möglich, eigene "Tasks" direkt vom IO-Thread der Verbindung ausführen zu lassen. Das gilt für zeitgesteuerte sowie für direkt auszuführende Tasks. Auch im Bereich der Protokollunterstützung hat sich einiges getan. So kann Netty nun mit SCTP (Stream Control Transmission Protocol) und UDP (User Datagram Protocol) umgehen. Die Unterstützung für NIO UDP Multicast wird nun auch von Haus aus mit geliefert.

Des Weiteren haben die Entwickler die API vollkommen überarbeitet. Unterstützt wird nun Method Chaining, das das mehrfache Aufrufen von Methoden in einer Klasse deutlich vereinfacht. Die zahlreichen Neuerungen haben auch zur Folge, dass sich das neue Release inkompatibel zu früheren Versionen des Networking-Application-Frameworks verhält. Hier sind sogenannte Early Adopter herzlich dazu eingeladen, die Entwickler frühzeitig mit Feedback zu versorgen, damit das Framework ein stabileres und performanteres Verhalten aufweisen kann.

Für den Einstieg empfiehlt sich, die Dokumentation oder das beim Manning-Verlag entstehende Referenzwerk zu lesen. Erste Projekte habe schon Netty 4 aufgegriffen, so wird es im soeben erschienenen asynchronen, ereignisgetriebenen Framework vert.x 2.0 verwendet. (ane)