Netty – A Non Blocking Input Output (NIO) Client Server Framework

  • Posted on : October 10, 2014
  • Modified: November 5, 2020

  • Author : SPEC INDIA
  • Category : Java

What is Netty Framework

Netty Framework, an asynchronous event-driven network application framework is a new rage for the Java Network Application Development. It comprises protocol servers and clients facilitating the rapid development of maintainable high-performance software. This application framework and its tools simplify network programming and are maintained by the Netty Project Community.

Netty can also be categorized as a NIO client-server framework, enabling quick and easy development of network applications to simplify and streamline network programming for TCP and UDP socket servers. Netty boasts of a conducive development environment with assured stability and high-end performance. It also includes the reactor pattern for programming.

The inbuilt HTTP protocol support supports WebSockets and allows the framework to run within servlet containers. The latest Netty on the block supports backend activities with NIO and blocking Java.

Features of NETTY Framework:

The Transport Services include the following
  • Socket and Datagram
  • HTTP Tunnel
  • In-VM Pipe
Protocol Support is extended in the following manner
  • HTTP
  • Web SocketNetty Framework
  • Google Protocol buffers
  • SSL-StartTLS
  • Large File Transfer
  • RTSP
  • Zlib or gzip compression
  • Binary Protocols
  • Other Legacy Text
Core
  •   Extensible Event Model
  •   Universal Communication API
  •   Zero Copy Capable Rich Byte Buffer
Design

The design integrates a unified API for both the transport types; blocking and non-blocking sockets. The event model is extensible and allows clear separation of concerns. The thread model offers the flexibility of choosing between a single thread or one or more thread pools like SEDA. The threads are highly customizable too. The datagram support is truly connectionless as well. The Netty pipeline abstraction coupled with the safe threads and dynamic mutability makes strong support for this framework.

Performance & Efficiency

Netty offers more than stable performance with better throughput and lower latency, limiting memory copies to absolutely necessary numbers only. The Zero Copy Capable Rich Byte Buffer feature enables the Kernel to manage to copy with Direct Memory Access (DMA). This reduces the load on the CPU and the system bus, increasing the efficiency of the framework manifolds.

Scalability & Integration

Netty allows scalability and supports scaling up to more than a thousand connections, with no performance bottlenecks maintaining efficiency. The reliability of these connections is very high and lapses free. Netty is easy to extend and build upon. Netty also offers neat integration with other environments like Linux, Java, C#, C++ or Python, making it a robust and versatile framework to depend on.

Security

The complete SSL/TLS and StartTLS support makes the Netty framework a very secure and safe framework

Documentation

The documentation in Netty contains many guides, tutorials and JavaDocs besides examples to assist developers. This attributes to the growing popularity of Netty amongst the developer community.

Author: SPEC INDIA


less words, more information

Tech
IN 200
words

Read our microblogs

Subscribe Now For Fresh Content

Loading

Guest Contribution

We are looking for industry experts to contribute to our blog section through fresh and innovative content.

Write For Us

Our Portfolio

Proven Solutions Across Industries
Technology for Real-Life

Visit Our Portfolio