Dubbo學習筆記 四

2021-10-09 00:27:29 字數 2280 閱讀 8232

com.alibaba.boot<

/groupid>

dubbo-spring-boot-starter<

/artifactid>

0.2.0

<

/version>

<

/dependency>

注意starter版本適配:

提供者配置:

dubbo.registry.protocol=zookeeper

dubbo.registry.address=192.168.67.159:2181

dubbo.scan.base-package=com.atguigu.gmall

dubbo.protocol.name=dubbo

registry.protocol 是指定註冊中心協議

registry.address 是註冊中心的位址加埠號

protocol.name 是分布式固定是dubbo,不要改。

base-package 註解方式要掃瞄的包

消費者配置:

dubbo.registry.protocol=zookeeper

dubbo.registry.address=192.168.67.159:2181

dubbo.scan.base-package=com.atguigu.gmall

dubbo.protocol.name=dubbo

@service、@reference

【如果沒有在配置中寫dubbo.scan.base-package,還需要使用@enabledubbo註解】

jvm 啟動 -d 引數優先,這樣可以使使用者在部署和啟動時進行引數重寫,比如在啟動時需改變協議的埠。

xml 次之,如果在 xml 中有配置,則 dubbo.properties 中的相應配置項無效。

properties 最後,相當於預設值,只有 xml 沒有配置時,dubbo.properties 的相應配置項才會生效,通常用於共享公共配置,比如應用名。

失敗自動切換,當出現失敗,重試其它伺服器,但重試會帶來更長延遲。

可通過 retries="2" 來設定重試次數(不含第一次)。

重試次數配置如下:或或

由於網路或服務端不可靠,會導致呼叫出現一種不確定的中間狀態(超時)。

為了避免超時導致客戶端資源(執行緒)掛起耗盡,必須設定超時時間。

全域性超時配置

指定介面以及特定方法超時配置

全域性超時配置

指定介面以及特定方法超時配置

當乙個介面實現,出現不相容公升級時,可以用版本號過渡,版本號不同的服務相互間不引用。

可以按照以下的步驟進行版本遷移:

在低壓力時間段,先公升級一半提供者為新版本

再將所有消費者公升級為新版本

然後將剩下的一半提供者公升級為新版本

老版本服務提供者配置:

新版本服務提供者配置:

老版本服務消費者配置:

新版本服務消費者配置:

如果不需要區分版本,可以按照以下的方式配置:

配置原則1、作服務的提供者,比服務使用方更清楚服務效能引數,如呼叫的超時時間,合理的重試次數,等等2、在provider配置後,consumer不配置則會使用provider的配置值,即provider配置可以作為consumer的預設值。否則,consumer會使用consumer端的全域性設定,這對於provider不可控的,並且往往是不合理的配置的覆蓋規則:方法級配置別優於介面級別,即小scope優先

consumer端配置 優於 provider配置 優於 全域性配置,

最後是dubbo hard code的配置值(見配置文件)

DUBBO學習筆記

1 該例子是spring整合dubbo,spring包有點問題 2 3 springboot整合dubb,可以執行 2 zookeeper安裝 1 server.port 8082 5 dubbo是面向介面呼叫的,該介面被實現後註冊到zookeeper上 spring配置檔案中配置了zookeepe...

dubbo學習筆記

dubbo整合spring boot的官網位址為 dubbo 當我發現了這個位址後,我當即動手實踐,新建了工程,迅速搭起了程式的框架。我首先做的是用xml的配置檔案的方式進行配置 避免上次一做就是spring boot框架,在當時的環境下,jar的依賴關係複雜,以致最後以失敗而告終 xml的方式雖然...

DUBBO學習筆記

1 windows上啟動zookeeper失敗的原因 1.執行zkserver.com的時候新增了 start引數,在windows上不需要改引數,直接啟動即可 2.datadir e software zookeeper 3.3.6 data 沒有設定,設定上即可 3.datalogdir e s...