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