五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

Netty的設(shè)計(jì)架構(gòu)

2023-07-02 23:30 作者:懶人Java屈原  | 我要投稿

什么是Netty

上一篇文章?一文讀懂NIO?中,我們介紹了NIO, Java的NIO類庫(kù)與API都相當(dāng)復(fù)雜,想要寫好一個(gè)高質(zhì)量的NIO的程序,你必須精通網(wǎng)絡(luò)編程與多線程的知識(shí)。在這個(gè)背景下Netty誕生了,只要進(jìn)行簡(jiǎn)單的編碼就能開發(fā)出一個(gè)可靠、高性能的NIO程序。

Reactor模式

Reactor模型是一個(gè)事件驅(qū)動(dòng)的模型,也是Netty參照的模型。

Reactor的組成:

1.Reactor

作為一個(gè)合格的資本家,你要懂得壓縮成本。還記得?《3分鐘了解linux網(wǎng)絡(luò)IO模型》里的 多路復(fù)用嗎,因?yàn)橄到y(tǒng)發(fā)不出工資,只留下一個(gè)盯梢的,把其他人畢業(yè)向社會(huì)輸送人才。Reactor模式里面,Reactor就是那個(gè)被留下的幸運(yùn)兒。

2.Handler

就是干雜活的社畜,實(shí)際上的讀、寫操作都是他們?cè)诟伞?/p>

Reactor的3種模式:

1.單線程模式

client發(fā)出請(qǐng)求,Reactor通過acceptor接收請(qǐng)求后,就創(chuàng)建一個(gè)handler去干活。這個(gè)模式很簡(jiǎn)單,但是一個(gè)社畜(handler)的工作能力是有限的,一旦它阻塞住了,Reactor就接不了客了。這也是redis的設(shè)計(jì)模型。

2.多線程模式


公司業(yè)務(wù)規(guī)模擴(kuò)大了,老板覺得只有一個(gè)社畜有點(diǎn)忙不過來,就找了多個(gè)社畜一起干活,這就是多線程模式。這個(gè)階段handler也從單線程這個(gè)創(chuàng)業(yè)初期解放出來了,具體干活的事情就丟給線程池中某個(gè)線程去干,它只要結(jié)果,然后給出反饋。

3.主從Reactor模型

公司規(guī)模再度擴(kuò)大后,Reactor這個(gè)管理者開始忙不過來,他既要去接待客戶(client),又要下發(fā)任務(wù)給社畜(handler)。所以老板又找了個(gè)人來進(jìn)行職能切分,主Reactor用來接待所有來訪的客戶,把需求通過acceptor提給子Reactor。子Reactor開始指揮下面的社畜干活。

這種模式在業(yè)界廣泛應(yīng)用,如Nginx的主從多進(jìn)程模式,Netty的主從多線程模式。

Netty的主從多線程模式

Netty的主從模式就是改造至Reactor的主從多線程模式

Boss Group

它是個(gè)線程池,專門用來接收客戶端的連接請(qǐng)求

Worker Group

它也是個(gè)線程池,專門用來處理網(wǎng)絡(luò)的讀寫操作。


Netty的設(shè)計(jì)架構(gòu)的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
泽州县| 西林县| 曲松县| 庄河市| 庆云县| 丘北县| 遵义市| 报价| 鄂温| 乌拉特中旗| 和平区| 滦平县| 广宗县| 凉山| 米脂县| 华坪县| 江都市| 罗定市| 泗水县| 淳安县| 新绛县| 祁连县| 敦煌市| 来宾市| 嵊州市| 娱乐| 双桥区| 延寿县| 玉门市| 文水县| 抚远县| 香港 | 九江县| 德清县| 内丘县| 邵武市| 新晃| 新昌县| 大田县| 南郑县| 余江县|