W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
Dubbo 消費(fèi)端線程池模型用法
2.7.5 版本對(duì)整個(gè)調(diào)用鏈路做了全面的優(yōu)化,根據(jù)壓測(cè)結(jié)果顯示,總體 QPS 性能提升將近 30%,同時(shí)也減少了調(diào)用過程中的內(nèi)存分配開銷。其中一個(gè)值得提及的設(shè)計(jì)點(diǎn)是 2.7.5 引入了 Servicerepository 的概念,在服務(wù)注冊(cè)階段提前生成 ServiceDescriptor 和 MethodDescriptor,以減少 RPC 調(diào)用階段計(jì)算 Service 原信息帶來的資源消耗。
對(duì) 2.7.5 版本之前的 Dubbo 應(yīng)用,尤其是一些消費(fèi)端應(yīng)用,當(dāng)面臨需要消費(fèi)大量服務(wù)且并發(fā)數(shù)比較大的大流量場(chǎng)景時(shí)(典型如網(wǎng)關(guān)類場(chǎng)景),經(jīng)常會(huì)出現(xiàn)消費(fèi)端線程數(shù)分配過多的問題,具體問題討論可參見 Need a limited Threadpool in consumer side #2013
改進(jìn)后的消費(fèi)端線程池模型,通過復(fù)用業(yè)務(wù)端被阻塞的線程,很好的解決了這個(gè)問題。
我們重點(diǎn)關(guān)注 Consumer 部分:
2.7.5 版本引入的線程池模型
這樣,相比于老的線程池模型,由業(yè)務(wù)線程自己負(fù)責(zé)監(jiān)測(cè)并解析返回結(jié)果,免去了額外的消費(fèi)端線程池開銷。
關(guān)于性能優(yōu)化,在接下來的版本中將會(huì)持續(xù)推進(jìn),主要從以下兩個(gè)方面入手:
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: