JBoss Community

The Netty project is an effort to provide an asynchronous event-driven network application framework and tools for rapid development of maintainable high performance & high scalability protocol servers & clients.
The Architecture Diagram of Netty

Netty is a NIO client server framework which enables quick and easy development of network applications such as protocol servers and clients. It greatly simplifies and streamlines network programming such as TCP and UDP socket server.

'Quick and easy' doesn't mean that a resulting application will suffer from a maintainability or a performance issue. Netty has been designed carefully with the experiences earned from the implementation of a lot of protocols such as FTP, SMTP, HTTP, and various binary and text-based legacy protocols. As a result, Netty has succeeded to find a way to achieve ease of development, performance, stability, and flexibility without a compromise.

Status and Road Map

3.2.0.BETA1 and 3.1.5.GA have been released on 04-Mar-2010 and 12-Oct-2009 respectively. Please feel free to browse the documentation, compare the performance to other NIO frameworks, read the testimonials from the satisfied, grab a download, and join us on our community to open the future of network application development!

The complete road map is found in our issue tracking system, and you are always welcome to request and contribute a new feature.

Features

Netty was designed and written from scratch to provide the best experience in network application development:

Design
  • Unified API for various transport types - blocking and non-blocking socket
  • Based on a flexible and extensible event model which allows clear separation of concerns
  • Highly customizable thread model - single thread, one or more thread pools such as SEDA
  • True connectionless datagram socket support (since 3.1)
Ease of use
  • Well-documented Javadoc, user guide and examples
  • No more big fat monolithic core which has unnecessary features
  • No additional dependencies but JDK 1.5 (or above)
Performance
  • Better throughput, lower latency
  • Less resource consumption
  • Minimized unnecessary memory copy
Robustness
  • No more OutOfMemoryError due to fast, slow or overloaded connection.
  • No more unfair read / write ratio often found in a NIO application under high speed network
  • Tested against various JDK versions and operating systems (see the live report)
Security
  • Complete SSL/TLS and StartTLS support
  • Runs OK in a restricted environment such as Applet and Google Android
Community
  • Release early, release often
  • The author has been writing similar frameworks since 2003 and he still finds your feed back precious!


Trustin / JBoss, you have delivered an excellent framework that demystified Java NIO, providing me with an elegant no nonsense API. My application, an HTTP proxy server with substitution exposing nearly 1700 external partner web sites though a single domain has been running problem free since August 2009.
Dave Siracusa Perfware, Nov. 9, 2009