Dubbo 配置中心、元數據中心


 

配置中心

每個服務的配置都寫在自己的配置文件中,更新配置時要一台機器一台機器地修改,很不方便,

dubbo一般使用zk作為配置管理中心,統一管理dubbo的配置,也有用diamond的。

 

 

dubbo admin  ->  配置管理  -> 創建

 

全局配置的名稱使用global,對所有的服務提供者、消費者均有效,寫一些公共配置,比如

#注冊中心
dubbo.registry.address=zookeeper://192.168.1.9:2181
#連接超時
dubbo.registry.timeout=10000

#dubbo使用的協議、端口
dubbo.protocol.name=dubbo
dubbo.protocol.port=20880

配置會保存在 zkServer的/dubbo/config 中,其中全局配置保存在config下面的 dubbo/dubbo.properties 中。

 

應用級別配置的名稱使用服務名(dubbo.application.name),該配置只對指定的服務有效,一般寫這個服務私有的配置,比如 dubbo.scan.base-packages 。

如果全局配置中也設置了相同的配置項,以應用級配置為准(越精細的優先級越高)。

 

 

使用配置中心后,提供者、消費者在springboot配置文件中不用寫dubbo的其它配置,只寫配置中心的配置即可:

#配置中心地址
dubbo.config-center.address=zookeeper://192.168.1.9:2181
#連接到配置中心的超時時間,ms
dubbo.config-center.timeout=10000

應用啟動時,會自動連接到配置中心,從配置中心獲取dubbo的配置

 

dubbo.scan.base-packages 這種配置,如果覺得放在配置中心代碼重構修改包位置時不方便,就放在springboot配置文件中也可以。

 

 

 


 

 

 

元數據中心

元數據中心用於存儲一些服務提供者、消費者的信息,比如dubbo版本、服務接口的信息(包括方法名、形參表、返回值類型)等等。

dubbo支持2種元數據中心:zk、redis,此處以zk為例。

 

分別在消費者、提供者中加入元數據中心的依賴:

<dependency>
    <groupId>org.apache.dubbo</groupId>
    <artifactId>dubbo-metadata-report-zookeeper</artifactId>
    <version>2.7.6</version>
    <scope>test</scope>
</dependency>

使用redis作為元數據中心的話,把artifactId中的zookeeper換為redis即可。

版本號一般要用maven統一管理dubbo各個依賴的版本,做到dubbo的依賴都是同一版本。此處未統一管理版本。

看到作用域是test,就知道元數據中心這玩意兒是測試用的。

 

 

然后在全局配置中加上元數據中心的配置:

#元數據配置中心地址
dubbo.metadata-report.address=zookeeper://192.168.1.9:2181

一般配置個地址就可以了

 

 

重啟應用來獲取新的配置,看到zkServer上產生了一個新的節點 /dubbo/metadata,

metadata下面每個子節點都存儲一個服務的元數據,provider、consumer分別存儲該服務提供者、消費者的元數據,json格式,

數據有點亂,要看的話可以找個json格式化工具格式化一下。

 

 

元數據中心主要的功能是測試服務接口,配置元數據中心以后,可以在dubbo admin中測試服務接口。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM