dubbo常用技巧

2021-08-19 22:45:24 字數 1936 閱讀 7817

1.本地開發

2.可調優選項

結果快取 ,⽤於加速熱⻔資料的訪問速度,dubbo 提供宣告式快取,以減少⽤戶加快取的⼯作量 。

併發限制:

服務端限制  com.foo.barservice  的每個⽅法,伺服器端併發執⾏(或佔⽤執行緒池執行緒數)不能超過 10 個:

消費端限制  com.foo.barservice  的每個⽅法,每客戶端併發執⾏(或佔⽤連線的請求數)不能超過 10 個:

如果  和  都配了actives, 優先

配置服務的客戶端的  loadbalance  屬性為  leastactive  ,此 loadbalance 會調⽤併發數最⼩的 provider(consumer

端併發數)。

限**務器端接受的連線不能超過 10 個

限制客戶端服務使⽤連線不能超過 10 個

如果  和  都配了 connections, 優先

優雅停機

dubbo 是通過 jdk 的 shutdownhook 來完成優雅停機的,所以如果⽤戶使⽤  kill -9 pid  等強制關閉指令,是不會

執⾏優雅停機的,只有通過  kill pid  時,才會執⾏。

在 provider 上盡量多配置 consumer 端屬性

原因如下:

作服務的提供者,⽐服務使⽤⽅更清楚服務效能引數,如調⽤的超時時間,合理的重試次數,等等

在 provider 配置後,consumer 不配置則會使⽤ provider 的配置值,即 provider 配置可以作為 consumer 的預設

值 。否則,consumer 會使⽤ consumer 端的全域性設定,這對於 provider 不可控的,並且往往是不合理的

provider 上盡量多配置 consumer 端的屬性,讓 provider 實現者⼀開始就思考 provider 服務特點、服務質量的問題。

示例:在 provider 上可以配置的 consumer 端屬性有:

1.  timeout  ⽅法調⽤超時

2.  retries  失敗重試次數,預設是 2

3.  loadbalance  負載均衡演算法 ,預設是隨機  random  。還可以有輪詢  roundrobin  、最不活躍優先 leastactive

4.  actives  消費者端,最⼤併發調⽤限制,即當 consumer 對⼀個服務的併發調⽤到上限後,新調⽤會 wait 直到超

時 在⽅法上配置  dubbo:method  則併發限制針對⽅法,在接⼝上配置  dubbo:service  ,則併發限制針對服務

provider 上配置合理的 provider 端屬性

provider 上可以配置的 provider 端屬性有:

1.  threads  服務執行緒池⼤⼩

2.  executes  ⼀個服務提供者並⾏執⾏請求上限,即當 provider 對⼀個服務的併發調⽤到上限後,新調⽤會 wait,

這個時候 consumer可能會超時。在⽅法上配置  dubbo:method  則併發限制針對⽅法,在接⼝上配置

dubbo:service  ,則併發限制針對服務

-server -xmx2g -xms2g -xmn256m -xx:permsize=128m -xss256k -

xx:+disableexplicitgc -xx:+useconcmarksweepgc -

xx:+cmsparallelremarkenabled -xx:+usecmscompactatfullcollection -

xx:largepagesizeinbytes=128m -xx:+usefastaccessormethods -

xx:+usecmsinitiatingoccupancyonly -

xx:cmsinitiatingoccupancyfraction=70

dubbo常用配置

持續更新 開發過程中常常需要先本地除錯自己的服務再註冊到註冊中心,debug可採用直連本地的方式 應該還有更好的方法 provider.xml address zookeeper localhost 2181 name dubbo port 20880 在dubbo 20880暴露了服務,即在con...

dubbo 常用配置

多版本支援 veresion1.0 version1.0.1 可以做版本隔離,server端配置 client 端配置 zk註冊中心的服務節點 主機繫結指的是繫結,dubbo的服務註冊節點的位址 即標紅的位址 從配置檔案中獲取host netutils.isinvalidlocalhost host...

Dubbo常用配置內容

版本號會在解析配置檔案的時候,把版本拼接到url後面 1.netutils.isinvalidlocalhost host 從配置檔案中獲取host 2.host inetaddress.getlocalhost gethostaddress 3.socket socket new socket t...