1. 程式人生 > 其它 >dubbo框架四大元件概述

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的一些總結