内射老阿姨1区2区3区4区_久久精品人人做人人爽电影蜜月_久久国产精品亚洲77777_99精品又大又爽又粗少妇毛片

Dubbo怎么配置注冊中心

本篇內(nèi)容主要講解“Dubbo怎么配置注冊中心”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學(xué)習(xí)“Dubbo怎么配置注冊中心”吧!

十余年的江干網(wǎng)站建設(shè)經(jīng)驗,針對設(shè)計、前端、開發(fā)、售后、文案、推廣等六對一服務(wù),響應(yīng)快,48小時及時工作處理。成都營銷網(wǎng)站建設(shè)的優(yōu)勢是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動調(diào)整江干建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計,從而大程度地提升瀏覽體驗。創(chuàng)新互聯(lián)從事“江干網(wǎng)站設(shè)計”,“江干網(wǎng)站推廣”以來,每個客戶項目都認真落實執(zhí)行。

注冊中心支持

注冊中心可以更高效的管理系統(tǒng)的服務(wù):比如服務(wù)接口的發(fā)布、自動剔除無效的服務(wù)、自動恢復(fù)服務(wù)等。

Dubbo 支持五種注冊中心:Multicast、Nacos(推薦)、ZooKeeper(推薦) 、redis、Simple。

Multicast 注冊中心

Multicast 注冊中心不需要啟動任何中心節(jié)點,只要廣播地址一樣,就可以互相發(fā)現(xiàn)。

Dubbo怎么配置注冊中心

  1. 提供方啟動時廣播自己的地址

  2. 消費方啟動時廣播訂閱請求

  3. 提供方收到訂閱請求時,單播自己的地址給訂閱者,如果設(shè)置了 unicast=false,則廣播給訂閱者

  4. 消費方收到提供方地址時,連接該地址進行 RPC 調(diào)用。

組播受網(wǎng)絡(luò)結(jié)構(gòu)限制,只適合小規(guī)模應(yīng)用或開發(fā)階段使用。組播地址段: 224.0.0.0 - 239.255.255.255

配置
<dubbo:registry address="multicast://224.5.6.7:1234" />

<dubbo:registry protocol="multicast" address="224.5.6.7:1234" />

dubbo.register.address=multicast://224.5.6.7:1234

為了減少廣播量,Dubbo 缺省使用單播發(fā)送提供者地址信息給消費者,如果一個機器上同時啟了多個消費者進程,消費者需聲明 unicast=false,否則只會有一個消費者能收到消息。

當(dāng)服務(wù)者和消費者運行在同一臺機器上,消費者同樣需要聲明unicast=false,否則消費者無法收到消息,導(dǎo)致 No provider available for the service 異常。

<dubbo:registry address="multicast://224.5.6.7:1234?unicast=false" />

<dubbo:registry protocol="multicast" address="224.5.6.7:1234">
    <dubbo:parameter key="unicast" value="false" />
</dubbo:registry>

ZooKeeper 注冊中心

Apache ZooKeeper 是一個開放源碼的分布式應(yīng)用程序協(xié)調(diào)組件,是 Hadoop 和 Hbase 的重要組件。它是一個為分布式應(yīng)用提供一致性服務(wù)的軟件,提供的功能包括:配置維護、域名服務(wù)、分布式同步、組服務(wù)等。適合作為 Dubbo 服務(wù)的注冊中心,工業(yè)強度較高,可用于生產(chǎn)環(huán)境,推薦使用。

在微服務(wù)項目開發(fā)中 ZooKeeper 主要的角色是當(dāng)做服務(wù)注冊中心存在,我們將編寫好的服務(wù)注冊至 ZooKeeper 即可。

Dubbo怎么配置注冊中心

流程說明:

  • 服務(wù)提供者啟動時: 向 /dubbo/com.foo.BarService/providers 目錄下寫入自己的 URL 地址。

  • 服務(wù)消費者啟動時: 訂閱 /dubbo/com.foo.BarService/providers 目錄下的提供者 URL 地址。并向 /dubbo/com.foo.BarService/consumers 目錄下寫入自己的 URL 地址。

  • 監(jiān)控中心啟動時: 訂閱 /dubbo/com.foo.BarService 目錄下的所有提供者和消費者 URL 地址。

支持以下功能:

  • 當(dāng)提供者出現(xiàn)斷電等異常停機時,注冊中心能自動刪除提供者信息;

  • 當(dāng)注冊中心重啟時,能自動恢復(fù)注冊數(shù)據(jù),以及訂閱請求;

  • 當(dāng)會話過期時,能自動恢復(fù)注冊數(shù)據(jù),以及訂閱請求;

  • 當(dāng)設(shè)置 <dubbo:registry check="false" /> 時,記錄失敗注冊和訂閱請求,后臺定時重試;

  • 可通過 <dubbo:registry username="admin" password="1234" /> 設(shè)置 zookeeper 登錄信息;

  • 可通過 <dubbo:registry group="dubbo" /> 設(shè)置 zookeeper 的根節(jié)點,不配置將使用默認的根節(jié)點;

  • 支持 * 號通配符 <dubbo:reference group="*" version="*" />,可訂閱服務(wù)的所有分組和所有版本的提供者。

預(yù)備工作

當(dāng)您將 ZooKeeper 整合到您的 Dubbo 工程之前,請確保后臺已經(jīng)啟動 ZooKeeper 服務(wù)。

快速上手

Dubbo 融合 ZooKeeper 成為注冊中心的操作步驟非常簡單,大致步驟可分為“增加 Maven 依賴”和“配置注冊中心“。

依賴

在 provider 和 consumer 中增加 zookeeper 客戶端 jar 包依賴:

<dependency>
    <groupId>org.apache.zookeeper</groupId>
    <artifactId>zookeeper</artifactId>
    <version>3.6.1</version>
</dependency>

Dubbo 支持 zkclient 和 curator 兩種 Zookeeper 客戶端實現(xiàn):

注意:在 2.7.x 的版本中已經(jīng)移除了 zkclient 的實現(xiàn),如果要使用 zkclient 客戶端,需要自行拓展。

所以,我們還需要在 provider 和 consumer 中增加 curator 客戶端 jar 包依賴:

<dependency>
    <groupId>org.apache.curator</groupId>
    <artifactId>curator-framework</artifactId>
    <version>5.1.0</version>
</dependency>

注意:單獨添加 zookeeper 和 curator 依賴需要注意版本之間是否有沖突,較為麻煩。

所以,一勞永逸的辦法就是添加 Apache Dubbo 給定的一個已關(guān)聯(lián)好的依賴:

<dependency>
    <groupId>org.apache.dubbo</groupId>
    <artifactId>dubbo-dependencies-zookeeper</artifactId>
    <version>2.7.4.1</version>
    <type>pom</type>
</dependency>
配置

ZooKeeper 單機配置:

<dubbo:registry address="zookeeper://191.168.10.101:2181" />

或:

<dubbo:registry protocol="zookeeper" address="191.168.10.101:2181" />

或:

dubbo.register.address=zookeeper://192.168.10.101:2181

或:

dubbo.register.protocol=zookeeper
dubbo.register.address=192.168.10.101:2181

ZooKeeper 集群配置:

<dubbo:registry address="zookeeper://191.168.10.101:2181?backup=191.168.10.102:2181,191.168.10.103:2181" />

或:

<dubbo:registry protocol="zookeeper" address="191.168.10.101:2181,191.168.10.102:2181,191.168.10.103:2181" />

或:

dubbo.register.address=zookeeper://192.168.10.101:2181?backup=192.168.10.102:2181,192.168.10.103:2181

或:

dubbo.register.protocol=zookeeper
dubbo.register.address=192.168.10.101:2181,192.168.10.102:2181,192.168.10.103:2181

Nacos 注冊中心

Nacos 是 Alibaba 公司推出的開源工具,用于實現(xiàn)分布式系統(tǒng)的服務(wù)發(fā)現(xiàn)與配置管理。Nacos 是 Dubbo 生態(tài)系統(tǒng)中重要的注冊中心實現(xiàn),其中 dubbo-registry-nacos 則是 Dubbo 融合 Nacos 注冊中心的實現(xiàn),推薦使用。

Nacos 官網(wǎng):https://nacos.io/zh-cn/

Github:https://github.com/alibaba/nacos

預(yù)備工作

當(dāng)您將 Nacos 整合到您的 Dubbo 工程之前,請確保后臺已經(jīng)啟動 Nacos 服務(wù)。

快速上手

Dubbo 融合 Nacos 成為注冊中心的操作步驟非常簡單,大致步驟可分為“增加 Maven 依賴”和“配置注冊中心“。

依賴

核心依賴主要是 dubbo-registry-nacosnacos-client。

<!-- https://mvnrepository.com/artifact/org.apache.dubbo/dubbo-registry-nacos -->
<dependency>
    <groupId>org.apache.dubbo</groupId>
    <artifactId>dubbo-registry-nacos</artifactId>
    <version>2.7.4.1</version>
</dependency>
<!-- https://mvnrepository.com/artifact/com.alibaba.nacos/nacos-client -->
<dependency>
    <groupId>com.alibaba.nacos</groupId>
    <artifactId>nacos-client</artifactId>
    <version>1.3.1</version>
</dependency>
配置注冊中心

服務(wù)提供者和服務(wù)消費者只需要調(diào)整 address 屬性配置即可。

單機配置:

<!-- 使用 Nacos 注冊中心,單機版 -->
<dubbo:registry address="nacos://127.0.0.1:8848"/>
<!-- 或 -->
<dubbo:registry protocol="nacos" address="127.0.0.1:2181"/>

或:

dubbo.register.address=nacos://192.168.10.101:8848

或:

dubbo.register.protocol=nacos
dubbo.register.address=192.168.10.101:8848

集群配置:

<!-- 使用 Nacos 注冊中心,集群版 -->
<dubbo:registry address="nacos://192.168.10.101:8848?backup=192.168.10.102:8848,192.168.10.103:8848"/>
<!-- 或 -->
<dubbo:registry protocol="nacos" address="192.168.10.101:8848,192.168.10.102:8848,192.168.10.103:8848"/>

或:

dubbo.register.address=nacos://192.168.10.101:8848

或:

dubbo.register.protocol=nacos
dubbo.register.address=192.168.10.101:8848,192.168.10.102:8848,192.168.10.103:8848

隨后,重啟您的 Dubbo 應(yīng)用,Dubbo 的服務(wù)提供和消費信息在 Nacos 控制臺中即可顯示。

Dubbo怎么配置注冊中心

如圖所示,服務(wù)名前綴為 providers: 的信息為服務(wù)提供者的元信息,consumers: 則代表服務(wù)消費者的元信息。點擊“詳情”可查看服務(wù)狀態(tài)詳情:

Dubbo怎么配置注冊中心

Dubbo 負載均衡

在集群負載均衡時,Dubbo 提供了多種均衡策略,缺省為 random 隨機調(diào)用,也可以自行擴展負載均衡策略。

負載均衡策略

Random LoadBalance
  • 隨機,按權(quán)重設(shè)置隨機概率。

  • 在一個截面上碰撞的概率高,但調(diào)用量越大分布越均勻,而且按概率使用權(quán)重后也比較均勻,有利于動態(tài)調(diào)整提供者權(quán)重。

Dubbo怎么配置注冊中心

RoundRobin LoadBalance
  • 輪詢,按公約后的權(quán)重設(shè)置輪詢比率。

  • 存在慢的提供者累積請求的問題,比如:第二臺機器很慢,但沒掛,當(dāng)請求調(diào)到第二臺時就卡在那,久而久之,所有請求都卡在調(diào)到第二臺上。

LeastActive LoadBalance
  • 最少活躍調(diào)用數(shù),ping 值(延遲低)的調(diào)用,相同延遲的情況下隨機。

  • 使慢的提供者收到更少請求,因為越慢的提供者的調(diào)用前后計數(shù)差會越大。

Dubbo怎么配置注冊中心

ConsistentHash LoadBalance
  • 一致性 Hash,相同參數(shù)的請求總是發(fā)到同一提供者。

  • 當(dāng)某一臺提供者掛時,原本發(fā)往該提供者的請求,基于虛擬節(jié)點,平攤到其它提供者,不會引起劇烈變動。

  • 算法參見:http://en.wikipedia.org/wiki/Consistent_hashing

  • 缺省只對第一個參數(shù) Hash,如果要修改,請配置 <dubbo:parameter key="hash.arguments" value="0,1" />

  • 缺省用 160 份虛擬節(jié)點,如果要修改,請配置 <dubbo:parameter key="hash.nodes" value="320" />

配置

一般在項目中不會在代碼層面指定權(quán)重,而是通過監(jiān)控中心(dubbo-admin)對服務(wù)動態(tài)的指定權(quán)重,官方文檔:http://dubbo.apache.org/zh-cn/docs/admin/introduction.html

xml

服務(wù)端服務(wù)級別

<dubbo:service interface="..." loadbalance="roundrobin" weight="100" />

客戶端服務(wù)級別

<dubbo:reference interface="..." loadbalance="roundrobin" />

服務(wù)端方法級別

<dubbo:service interface="..." weight="100">
    <dubbo:method name="..." loadbalance="roundrobin"/>
</dubbo:service>

客戶端方法級別

<dubbo:reference interface="...">
    <dubbo:method name="..." loadbalance="roundrobin"/>
</dubbo:reference>
yaml
dubbo:
  provider:
    loadbalance: roundrobin
    weight: 100
  consumer:
    loadbalance: roundrobin
注解
@Service(loadbalance = "roundrobin", weight = 100)
@Reference(loadbalance = "roundrobin")

Dubbo怎么配置注冊中心

Dubbo怎么配置注冊中心

Dubbo 控制臺

Dubbo 2.6 版本以及以前我們是通過一個war包,將其部署在tomcat下,啟動服務(wù)器訪問war包項目即可,界面效果如下。

Dubbo怎么配置注冊中心

Dubbo 2.7 版本以后管理控制臺結(jié)構(gòu)上采取了前后端分離的方式,前端使用 Vue 和 Vuetify 分別作為 Javascript 框架和 UI 框架,后端采用 Spring Boot 框架。既可以按照標(biāo)準的 Maven 方式進行打包,部署,也可以采用前后端分離的部署方式,方便開發(fā),功能上,目前具備了服務(wù)查詢,服務(wù)治理(包括Dubbo2.7中新增的治理規(guī)則)以及服務(wù)測試三部分內(nèi)容,最終效果如下:

Dubbo怎么配置注冊中心

部署

Maven方式部署
方式一

使用 git 將項目克隆至本地,打包啟動訪問或者導(dǎo)入 IDE 啟動訪問

git clone https://github.com/apache/dubbo-admin.git
cd dubbo-admin
mvn clean package -Dmaven.test.skip=true
cd dubbo-admin-distribution/target
java -jar dubbo-admin-0.2.0-SNAPSHOT.jar

項目訪問地址:http://localhost:8080

方式二

訪問:https://github.com/apache/dubbo-admin 將項目下載至本地,打包啟動訪問或者導(dǎo)入 IDE 啟動訪問。

前后端分離部署
前端
cd dubbo-admin-ui
npm install
npm run dev
后端
cd dubbo-admin-server
mvn clean package -Dmaven.test.skip=true
cd target
java -jar dubbo-admin-server-0.2.0-SNAPSHOT.jar
  • 運行dubbo admin server dubbo admin server是一個標(biāo)準的 Spring Boot 項目,可以在任何 Java IDE 中運行它

  • 運行dubbo admin ui dubbo admin ui由 npm 管理和構(gòu)建,在開發(fā)環(huán)境中,可以單獨運行:npm run dev

  • 頁面訪問:訪問 http://localhost:8082,由于前后端分開部署,前端支持熱加載,任何頁面的修改都可以實時反饋,不需要重啟應(yīng)用。

  • 跨域問題:為了方便開發(fā),項目使用前后端分離的部署模式,主要的好處是支持前端熱部署,在這種模式下,前端會通過 8080 端口訪問后端的 restful api 接口,獲取數(shù)據(jù),這將導(dǎo)致跨域訪問的問題。因此我們在dubbo-admin-ui/config/index.js 添加了支持跨域訪問的配置,當(dāng)前端通過 npm run dev 單獨啟動時,這些配置將被激活,允許跨域訪問。

核心配置文件

dubbo-admin-server/src/main/resources/application.properties

主要配置有(如需修改,請?zhí)鎿Q為自己 ZooKeeper 的服務(wù)器地址):

# centers in dubbo2.7
admin.registry.address=zookeeper://192.168.10.101:2181?backup=192.168.10.102:2181,192.168.10.103:2181
admin.config-center=zookeeper://192.168.10.101:2181?backup=192.168.10.102:2181,192.168.10.103:2181
admin.metadata-report.address=zookeeper://192.168.10.101:2181?backup=192.168.10.102:2181,192.168.10.103:2181

admin.root.user.name=root
admin.root.user.password=root

三個配置項分別指定了注冊中心,配置中心和元數(shù)據(jù)中心的地址。

Swagger 支持

部署完成后,可以訪問:http://localhost:8080/swagger-ui.html 來查看所有的 RESTful API。

Dubbo怎么配置注冊中心

訪問

本文使用前后端分離方式部署,訪問:http://localhost:8082/,結(jié)果如下:

第一次訪問時需要輸入用戶名與密碼,均為 root。

Dubbo怎么配置注冊中心

登錄成功以后主界面如下,可以通過左側(cè)菜單實現(xiàn)對服務(wù)的查詢、治理、測試、Mock、統(tǒng)計等。

Dubbo怎么配置注冊中心

點擊上圖中右側(cè)查詢結(jié)果的 詳情 按鈕可以進入以下頁面查看基礎(chǔ)信息、服務(wù)信息和元數(shù)據(jù)信息。如果元數(shù)據(jù)信息無法獲取如下圖,需要繼續(xù)修改配置。

Dubbo怎么配置注冊中心

官方已經(jīng)給出了完整說明 Dubbo-Admin配置說明,按照說明配置即可。

Dubbo怎么配置注冊中心

解決元數(shù)據(jù)無法獲取問題

使用 ZooKeeper 圖形化的客戶端工具 ZooInspector 連接 ZooKeeper 修改 Dubbo 配置信息。

Dubbo怎么配置注冊中心

在 dubbo 目錄下依次添加節(jié)點 configdubbo,然后再添加 dubbo.properties,右側(cè)填寫配置信息。

Dubbo怎么配置注冊中心

admin.registry.address=zookeeper://192.168.10.101:2181?backup=192.168.10.102:2181,192.168.10.103:2181
admin.metadata-report.address=zookeeper://192.168.10.101:2181?backup=192.168.10.102:2181,192.168.10.103:2181

完成以上操作后,重新打包編譯啟動,再次查看詳情即可看到元數(shù)據(jù)信息。

Dubbo怎么配置注冊中心

到此,相信大家對“Dubbo怎么配置注冊中心”有了更深的了解,不妨來實際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進入相關(guān)頻道進行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

當(dāng)前題目:Dubbo怎么配置注冊中心
網(wǎng)站路徑:http://www.rwnh.cn/article46/psgpeg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站設(shè)計、網(wǎng)站收錄、企業(yè)建站、用戶體驗、軟件開發(fā)、電子商務(wù)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)
乌鲁木齐县| 陇南市| 库伦旗| 霸州市| 汾阳市| 高淳县| 凤翔县| 阿城市| 岐山县| 阿克| 成都市| 广丰县| 濮阳市| 平南县| 正镶白旗| 河曲县| 桑日县| 准格尔旗| 什邡市| 五莲县| 焦作市| 通山县| 龙州县| 内江市| 蒙城县| 蒙城县| 务川| 洛宁县| 顺义区| 涟水县| 隆化县| 岚皋县| 白城市| 潼关县| 阿勒泰市| 凤庆县| 临颍县| 四平市| 门源| 买车| 黔南|