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