转载请注明来自:http://blog.lanmin.net/article/332.html
Mina和Netty都是Java领域高性能和高可伸缩性网络应用程序的网络应用框架,在实际生产应用中都是不错的佼佼者。公司一个的移动通讯查看有关“服务器”的文章">服务器要进行重构,研发经理确定使用Netty,之前我有听说过Mina,也看到一些游戏服务器在使用Mina。刚好乘这个机会系统了解一下这两个project,看看他们各自的特点。
一、Mina简介
Apache MINA(Multipurpose Infrastructure for Network Applications) 是 Apache 组织一个较新的项目,它为开发高性能和高可用性的网络应用程序提供了非常便利的框架。当前发行的 MINA 版本支持基于 Java NIO 技术的 TCP/UDP 应用程序开发、串口通讯程序(只在最新的预览版中提供),MINA 所支持的功能也在进一步的扩展中。目前,正在使用 MINA 的软件包括有:Apache Directory Project、AsyncWeb、AMQP(Advanced Message Queuing Protocol)、RED5 Server(Macromedia Flash Media RTMP)、ObjectRADIUS、Openfire 等等。
项目网址:http://mina.apache.org/
入门示例:http://www.ibm.com/developerworks/cn/opensource/os-cn-apmina/
二、Netty简介
一款异步的事件驱动的网络应用框架和工具,用于快速开发可维护的高性能、高扩展性协议服务器和客户端。也就是说,Netty是一个NIO客户端/服务器框架,支持快速、简单地开发网络应用,如协议服务器和客户端。它极大简化了网络编程,如TCP和UDP套接字服务器。 关于Netty的分类,它与Apache Mina和Grizzly属于同一舞台。
项目地址:http://www.jboss.org/netty/
netty3.1用户手册:http://edu.codepub.com/2010/0413/21990.php
netty3.1 API文档:http://docs.jboss.org/netty/3.1/api/index.html
三、Mina与Netty比较
在javaeye上搜mina和netty,mina的文章比netty多一点,原因应该是mina已经发布够长的时间,被人使用也多一点。
看出身,mina背靠apache基金,而netty背靠jboss,和jboss的结合度非常高。
在goolge上搜索两者的比较,mina在前,netty吸收了mina的优点同时改正很多不足,而且Netty近期的更新比mina更快。