Dubbo執行緒模型與Sentinel運用

2021-10-23 02:51:30 字數 1930 閱讀 7005

案例回放

增加執行緒池大小,設定為可伸縮執行緒池

# 這裡可以用配置name 是為了後續配置多個執行緒池組使用的

"dubbo" name=

"dubbo" port=

"21888" threadpool=

"limited" threads=

"500" queues=

"0"/

>

配置多個dubbo執行緒池
<

!-- http呼叫極驗服務存在超時情況 則將請求延遲服務單獨出來 單獨配置執行緒池規則 --

>

"captcha" name=

"dubbo" port=

"21889" dispatcher=

"message" threadpool=

"fixed"

threads=

"$"/

>

<

/beans>

在啟動類中引入dubbo-comm.xml即可

@importresource

(locations =

)public

class

}

@com

.alibaba.dubbo.config.annotation.

service

(protocol =

, timeout =

2000

)public

class

captchaserviceimple

使用sentinel
/**

* sentinelconfig

* * @author weigang

* @create 2019-04-02

**/@configuration

public

class

sentinelconfig

/** * 初始化降級策略規則

*/@postconstruct

public

void

initdegraderule()

degraderulemanager.

loadrules

(rules);}

}

@sentinelresource

(value =

"captcha"

, fallback =

"needcaptchafallback"

)@override

public result<**

*out>

needcaptcha

(request<**

*in> request)

public result<**

*out>

needcaptchafallback

(request<**

*in> request)

參考文章

Dubbo執行緒模型

下面我們要看一下預設情況下的執行緒模型 首先明確乙個基本概念 io執行緒和業務執行緒的區別 dubbo預設採用的是長鏈結的方式,即預設情況下乙個consumer和乙個provider之間只會建立一條鏈結,這種情況下io執行緒的工作就是編碼和解碼資料,監聽具體的資料請求,直接通過channel發布資料...

6 Dubbo執行緒模型與執行緒池策略

當我們聊dubbo執行緒模型 執行緒池策略的時候,我們應該考慮哪些問題?根據請求的訊息類被io執行緒處理還是被業務執行緒池處理,dubbo提供了下面幾種執行緒模型 alldispatcher原始碼剖析 all執行緒模型的實現如下 default thread pool configure publi...

Dubbo(八)執行緒模型

dubbo有兩種執行緒池,第一種是i o執行緒池,第二種是業務執行緒池。i o執行緒池主要是收包發包,接收新的連線,業務執行緒則是執行我們的業務 呼叫介面的實現類 i o執行緒數預設是cpu的個數 1,業務執行緒數預設是200。與其他半同步半非同步的模型相似,dubbo的業務執行緒池也配備了佇列,不...