Netty 2 provides an easy event-based API (like Swing) to develop high-performance, maintainable TCP/IP server/client application. Netty provides many essential features such as readiness selection, thread pooling, write buffer DoS prevention, and buffer reuse which are required to build high- performance and capacity network applications.
New Features:
* 'Write buffer full' prevention:
* Detects too slow clients
* Throttles outgoing messages to avoid resource shortage
* JMX-compliant: Thread pools and common configuration are MBean.
* The priority of all threads are now configurable on-the-fly.
Full Feature list:
* Event-based API: Netty handles all low level I/O call
* Separation of message format and workflow
* Protocol messages are represented as classes: Protocol implementation in object-oriented way!
* Polymorphism enables 'pluggable protocol'.
* Inheritance enables 'message part hierarchy'.
* Java NIO: Better scalability
* Built-in thread pool:
* I/O and event processing threads are separated.
* All thread priorities are configurable.
* Direct byte buffer pooling: No direct buffer allocation overhead
* Customizable event dispatcher: Flexible thread scheduling
* 'Write buffer full' prevention:
* Detects too slow clients
* Throttles outgoing messages to avoid resource shortage
* JMX-compliant: Thread pools and common configuration are MBean.
Check Netty 2 At: http://gleamynode.net/dev/projects/netty2/
-
Netty 2 1.3 Released: Event-driven NIO Framework (6 messages)
- Posted by: Trustin Heuiseung Lee
- Posted on: July 03 2004 08:57 EDT
Threaded Messages (6)
- Design goals by Jesper Nordenberg on July 06 2004 04:12 EDT
- Design goals by Trustin Heuiseung Lee on July 06 2004 08:05 EDT
-
Design goals by Juozas Baliuka on July 06 2004 12:43 EDT
- Design goals by Trustin Heuiseung Lee on July 06 2004 06:30 EDT
-
Design goals by Juozas Baliuka on July 06 2004 12:43 EDT
- Design goals by Trustin Heuiseung Lee on July 06 2004 08:05 EDT
- Netty 2 1.3 Released: Event-driven NIO Framework by Cameron Purdy on July 07 2004 09:07 EDT
- Netty 2 1.3 Released: Event-driven NIO Framework by Trustin Heuiseung Lee on July 08 2004 20:28 EDT
-
Design goals[ Go to top ]
- Posted by: Jesper Nordenberg
- Posted on: July 06 2004 04:12 EDT
- in response to Trustin Heuiseung Lee
Looks like an interesting project. Is it designed for low latency and/or high throughput? For example, would it be useful for an online game with 1000 clients (where low latency is crucial)? -
Design goals[ Go to top ]
- Posted by: Trustin Heuiseung Lee
- Posted on: July 06 2004 08:05 EDT
- in response to Jesper Nordenberg
The default thread model of Netty 2 is RWP (Read/Write and Process) pool model that I/O thread pool and event dispatcher thread pool are separated. So I can say that the default thread model Netty 2 provides is not for very low latency.
RWP pool model is useful where many connections are expected with variable I/O sizes, or where the business logic involves time-consuming operations such as DB processing that requires the separated thread pool.
I chose RWP pool model because I thought the ideal number of I/O threads and event processing threads are usually different, because the limiting factor of Socket I/O is the number of CPU, and the limiting factor of nowaday's business logic is other resources such as disk, database, or other subsystems.
But, please note that you can fulfill significantly low latency if you program your own event dispatcher. Well, I'd better add that one in the next release! ;)
Thank you very much for your interest!!! -
Design goals[ Go to top ]
- Posted by: Juozas Baliuka
- Posted on: July 06 2004 12:43 EDT
- in response to Trustin Heuiseung Lee
I found it very interesting as I understand it can be very usefull to implement adapter or client for "legacy" protocol in enterprise too. -
Design goals[ Go to top ]
- Posted by: Trustin Heuiseung Lee
- Posted on: July 06 2004 18:30 EDT
- in response to Juozas Baliuka
Yes, that's right. I made Netty to implement legacy protocols catching up tight schedule. ;) -
Netty 2 1.3 Released: Event-driven NIO Framework[ Go to top ]
- Posted by: Cameron Purdy
- Posted on: July 07 2004 09:07 EDT
- in response to Trustin Heuiseung Lee
Is this related at all to Ember IO from Mike Spille? I'm just curious how the architecture compares .. comments?
Peace,
Cameron Purdy
Tangosol, Inc.
Coherence: Clustered JCache for Grid Computing! -
Netty 2 1.3 Released: Event-driven NIO Framework[ Go to top ]
- Posted by: Trustin Heuiseung Lee
- Posted on: July 08 2004 20:28 EDT
- in response to Cameron Purdy
Netty 2 is evolved from Netty 1 which uses pre1.4 I/O API. Please check Netty 1 at http://milkbox.sf.net/ So Netty 2 is developed independent from EmberIO. When Netty 2 1.0 is almost released, I was Mike Spille's article about NIO, so I included some of his ideas in the next versions of Netty 2. Lots of thanks to Mike! ;)