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