Jboss Netty架构图

http://www.jboss.org/file-access/default/members/netty/freezone/guide/3.1/html/architecture.html#d0e2134
JBoss Netty的架构图如下:
<图已遗失>

1.图中划分个人认为是比较好的NIO网络应用框架功能细分,主要是五个部分:
Core:中主要是NIO框架侦听事件、收发消息、消息调度、资源管理等功能,是框架的核型功能;
Transport Service:主要是传输/通讯方式的部分;
Protocol Support:主要是针对具体的消息如何收发,解析的部分,在非阻塞模式下,一个byte一个byte的解析都关联到整个消息的完整性,因此这部分是主要是外部接口之一;
Security Support:这个针对通用的通信问题和一些具体的协议有关;
Integration:主要是和第三方容器或者框架的集成部分;
2.比较有名的NIO应用框架如下:
Apache Mina http://mina.apache.org
Jboss Netty http://jboss.org/netty
Sun Glassfish Grizzly https://grizzly.dev.java.net/
Soureforge NIO Framework http://nioframework.sourceforge.org
Soureforge xSocket http://xsocket.sourceforge.org
Quick Server http://www.quickserver.org/
这些NIO的客户端服务器Socket网络通讯框架在功能上和提供给用户的编程扩展点几乎都很相似/一致。
3.网络应用开发中比较重要的两个部分,一个是通讯部分,链路维持以及消息收发部分;另外一个是消息的解析/打包过程(Serializable/Externalizable)。一个延伸的想法就是:NIO网络应用框架 + Google Protocol Buffers.