Netty業(yè)務(wù)處理線程池的選擇

根據(jù)我們前面分析的,接收到消息后,為了避免在I/O線程里執(zhí)行耗時(shí)的操作,一般都會(huì)使用線程池來(lái)執(zhí)行業(yè)務(wù)處理邏輯.

那是使用Netty提供給我們的方法,傳入一個(gè)線程池還是使用我們自己定義的線程池好呢?

先來(lái)看Netty給我們提供的

ChannelPipeline addLast(EventExecutorGroup group, String name, ChannelHandler handler);

即我們添加handler的時(shí)候可以傳入一個(gè)線程池進(jìn)去
DefaultEventExecutorGroup

它與NioEventLoop之間的區(qū)別又是什么?

NioEventLoop

側(cè)重于處理網(wǎng)絡(luò)I/O相關(guān)的各種事件,例如連接操作,消息讀取和發(fā)送操作

DefaultEventExecutor

側(cè)重于處理業(yè)務(wù)相關(guān)的邏輯,將業(yè)務(wù)的ChannelHandler與具體的DefaultEventExecutor綁定起來(lái).

EventLoop繼承圖.png

其次

對(duì)于某個(gè)客戶端連接Channel,只會(huì)注冊(cè)到一個(gè)NioEventLoop線程中,用于處理網(wǎng)絡(luò)I/O操作,業(yè)務(wù)的ChannelHandler指定了運(yùn)行線程池EventLoopGroup之后,創(chuàng)建ChannelHandlerContext上下文時(shí)會(huì)從EventLoopGroup中選擇一個(gè)EventExecutor綁定到該Channel對(duì)應(yīng)的ChannelHandler實(shí)例.

也就是說(shuō)使用netty提供默認(rèn)的,是綁定的.如下圖

業(yè)務(wù)綁定EventExecutor模型的線程模型.png

使用我們自己定義的線程池

業(yè)務(wù)自定義線程池模型的線程模型.png

雖然LinkedBlockQueue通過(guò)讀寫鎖來(lái)提升性能,但是當(dāng)業(yè)務(wù)線程數(shù)和寫操作比較多時(shí),鎖競(jìng)爭(zhēng)對(duì)性能的影響還是比較大的骡湖。

如果采用自定義線程池時(shí),優(yōu)化方向就是鎖消除.
可以使用Disruptor或者使用ChannelId與業(yè)務(wù)線程池中的某個(gè)業(yè)務(wù)進(jìn)行綁定

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末赴背,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖露久,帶你破解...
    沈念sama閱讀 212,454評(píng)論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件撩荣,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡窜骄,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,553評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門摆屯,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)邻遏,“玉大人,你說(shuō)我怎么就攤上這事虐骑∽佳椋” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 157,921評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵廷没,是天一觀的道長(zhǎng)糊饱。 經(jīng)常有香客問(wèn)我,道長(zhǎng)颠黎,這世上最難降的妖魔是什么另锋? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,648評(píng)論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮狭归,結(jié)果婚禮上夭坪,老公的妹妹穿的比我還像新娘。我一直安慰自己过椎,他們只是感情好室梅,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,770評(píng)論 6 386
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著疚宇,像睡著了一般亡鼠。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上敷待,一...
    開(kāi)封第一講書(shū)人閱讀 49,950評(píng)論 1 291
  • 那天间涵,我揣著相機(jī)與錄音,去河邊找鬼讼撒。 笑死浑厚,一個(gè)胖子當(dāng)著我的面吹牛股耽,可吹牛的內(nèi)容都是我干的根盒。 我是一名探鬼主播,決...
    沈念sama閱讀 39,090評(píng)論 3 410
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼物蝙,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼炎滞!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起诬乞,我...
    開(kāi)封第一講書(shū)人閱讀 37,817評(píng)論 0 268
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤册赛,失蹤者是張志新(化名)和其女友劉穎钠导,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體森瘪,經(jīng)...
    沈念sama閱讀 44,275評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡牡属,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,592評(píng)論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了扼睬。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片逮栅。...
    茶點(diǎn)故事閱讀 38,724評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖窗宇,靈堂內(nèi)的尸體忽然破棺而出措伐,到底是詐尸還是另有隱情,我是刑警寧澤军俊,帶...
    沈念sama閱讀 34,409評(píng)論 4 333
  • 正文 年R本政府宣布侥加,位于F島的核電站,受9級(jí)特大地震影響粪躬,放射性物質(zhì)發(fā)生泄漏担败。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,052評(píng)論 3 316
  • 文/蒙蒙 一镰官、第九天 我趴在偏房一處隱蔽的房頂上張望氢架。 院中可真熱鬧,春花似錦朋魔、人聲如沸岖研。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,815評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)孙援。三九已至,卻和暖如春扇雕,著一層夾襖步出監(jiān)牢的瞬間拓售,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,043評(píng)論 1 266
  • 我被黑心中介騙來(lái)泰國(guó)打工镶奉, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留础淤,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,503評(píng)論 2 361
  • 正文 我出身青樓哨苛,卻偏偏與公主長(zhǎng)得像鸽凶,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子建峭,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,627評(píng)論 2 350

推薦閱讀更多精彩內(nèi)容