dubbo框架四大組件概述


   我們在選擇微服務框架時,除了我們的spring_cloud外,還有其中一款,高性能的框架就是dubbo。dubbo框架是由我們的阿里巴巴開發,最后交給Apache基金會。dubbo+zookeeper仍然具有服務注冊,面向接口的方法調用,智能容錯,負載均衡的功能,我們就講解一下dubbo框架的組件作用。

 

  一:dubbo架構圖:

 

 

 

 

.節點角色說明

1、Container:服務運行容器,只啟動一次

2、Provider:服務提供者

3、Registry:服務注冊與發現的注冊中心

4、Consumer:服務消費者

5、Monitor:統計服務的調用次數和調用時間的監控中心

.調用關系說明以及次序

0、服務容器負責啟動,加載,運行服務提供者。

1、服務提供者在啟動時,向注冊中心注冊自己提供的服務。

2、服務消費者在啟動時,向注冊中心訂閱自己所需的服務。

3、注冊中心返回服務提供者地址列表給消費者,如果有變更,注冊中心將基於長連接推送變更數據給消費者。

4、服務消費者,從提供者地址列表中,基於軟負載均衡算法,選一台提供者進行調用,如果調用失敗,再選另一台調用。

5、服務消費者和提供者,在內存中累計調用次數和調用時間,定時每分鍾發送一次統計數據到監控中心。

 

注冊中心:

1、進入zookeeper目錄,創建一個data目錄

2、進入配置conf目錄,把zoo.cfg文件的data屬性(修改屬性之前,自己先備份一份),改為自己剛剛創建的·data文件的絕對路徑

zookeeper常用命令:進入Zookeeper的bin目錄,

啟動服務命令 ./zkServer.sh start

停止服務命令 ./zkServer.sh stop

查看服務狀態: ./zkServer.sh status

客戶端連接 ./zkCli.sh

 

 

服務提供者(具體的服務就不實現了):

 配置文件需要我們注意的地方:

 1     <!-- 提供方應用信息,用於計算依賴關系 -->
 2     <dubbo:application name="dubbo-provider" />
 3 
 4     <!-- 使用zookeeper注冊中心暴露服務地址 -->
 5     <dubbo:registry protocol="zookeeper" address="127.0.0.1:2181" />
 6 
 7     <!-- 用dubbo協議在20880端口暴露服務 -->
 8     <dubbo:protocol name="dubbo" port="20880" />
 9         
10     <!-- 用戶服務接口 -->
11     <dubbo:service interface="com.mk.interfaceProvider.service.UserService" ref="userService" />
12     
13     <bean id="userService" class="com.mk.interfaceProvider.service.UserServiceImpl" />

 

服務消費者

  配置文件需要我們注意的地方:

    <!-- 消費方應用名,用於計算依賴關系,不是匹配條件,不要與提供方一樣 -->
    <dubbo:application name="dubbo-consumer" />

    <!-- 使用zookeeper注冊中心暴露服務地址 -->
    <!-- 注冊中心地址 -->
    <dubbo:registry protocol="zookeeper" address="127.0.0.1:2181" />
    
    <!-- 用戶服務接口 -->
    <dubbo:reference interface="com.mk.interfaceProvider.service.UserService" id="userService" check="false" />

 

 

以上就是學習自己dubbo的一些總結


免責聲明!

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



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