MINA (Multipurpose Infrastructure for Network Applications)是一个网络应用程序框架。用户利用它可以容易地开发高性能和高伸缩性的网络应用程序。
fisher的blog有一段评价:
而MINA的架构就足够灵活,它屏蔽了不同通讯方式和通讯底层事件机制的差异,就像在如同Cindy和Netty2这种基于NIO的reactor模式之上的框架,要想重构到BIO,就几乎要全部重写,不过Netty2要好一些,毕竟有Netty1作为铺垫,所以在NIO的reactor的路上走的不是很远(NIO的reactor实现真是的不咋个),而MINA则只需要在SocketIoProcessor中使用Helf Sync/Helf Async模式替换掉reactor之上的事件处理即可,当然,最好还要提供线程池以便进行overload shield,在向Apache LDAP团队提交了MINA的JDK1.3核心库时也曾想提起该问题,可惜后太忙,忘记了。不过我想以Trustin的聪明,一定会想到这个问题。
官方网站提到的特性列表:
Unified and extensible API for various transport types (TCP and UDP)
In-VM pipe communication
Provides both low-level and high-level API
Stream-based asynchronous I/O support
Filter interface as an extension point; similar to Servlet filters
SSL support via SSLFilter thanks to Java 5 SSLEngine
Built-in thread pool
Unit-test your protocol without network connection
Smooth migration from Netty, a popular NIO framework
官方网站:
http://directory.apache.org/subprojects/network/
Apache相关讨论:
http://www.matrix.org.cn/topic.shtml?forumId=17
标签: