Apache MINA 是一個優秀的網絡應用程序框架,采用java nio實現。它為用戶開發高性能以及高擴展的網絡應用帶
來了方便,其簡化用戶開發網絡應用的步驟,屏蔽應用通信層的細節,使得用戶主要關注在自己的業務邏輯上。MINA內部
的Filter與Event機制為其的高擴展性帶來了可能,可以說其Filter的實現技術是非常精妙的。當然其Connector、
Acceptor、Processor、Handler的設計也是非常優秀的,從職責的角度看,MINA將客戶端、服務端、I/O處理以及業務處
理做了良好的分離與抽象,同時結合線程的開銷與網絡異步處理的需要合理設計Connector/Acceptor的Processor容量,
Processor處理Session的容量,使得整個MINA處理網絡通信做到游刃有余。
總之,Apache MINA就是:
1、JAVA NIO 框架/庫。
2、C/S框架/庫.
3、高度抽象的網絡套接字庫。
接下來,讓我們一起走入MINA的世界。后續將深入剖析其內部實現原理以及網絡NIO編程的技巧,真正理解網絡
NIO的本質。
1、認識 Nio
2、ByteBuffer
3、ByteBuffer 視圖
4、Charset Encoder/Decoder 字符集編解碼
5、ServerSocketChannel/SocketChannel 通信信道
6、網絡I/O事件
7、Selector 信道多路選擇器
8、SelectionKey 信道網絡I/O事件關聯鍵
9、MINA 整體架構概覽
10、MINA --- Connector/Acceptor 連接器/入站接入器
11、MINA --- Processor I/O處理器
12、MINA --- MINA的線程模型
13、MINA --- Filter/FilterChain "MINA的流水線"
14、MINA --- Session 會話
15、MINA --- IoFuture "I/O異步處理結果單"
16、MINA --- 協議處理器
17、MINA --- Handler 業務處理器
暫時先列這么多,后續會逐步完善其內容。希望通過對MINA及周邊知識的學習研究,與大家一起分享NIO網絡編程的快樂。