Dubbo 源碼分析(一)一環境搭建

環境搭建的步驟有哪些html

依賴外部的環境git

使用的開發工具github

源碼的拉取算法

結構大體介紹apache

依賴的外部環境性能優化

安裝JDK架構

安裝Git併發

安裝maven負載均衡

這邊咱們就不介紹怎麼安裝這些外部環境了,你們自行從安裝這些外部環境哈框架

2 使用的外部工具

編輯器使用 IntelliJ IDEA (簡單好用,快捷鍵豐富)

GitHub Desktop GitHub的客戶端軟件,用起來真順手

3 源碼的拉取

源碼的話咱們上GitHub 上面直接拉取dubbo的源碼便可, Dubbo 而後咱們 Fork出一個屬於咱們本身的倉庫,以後咱們就能夠在咱們GitHub的倉庫中看到這個項目了。而後咱們將這個項目down到本地進行調試

具體Git操做不詳細介紹,下面貼出幾個比較好的供你們參考

https://blog.csdn.net/qq_32040767/article/details/77096761

https://blog.csdn.net/menggudaoke/article/details/77744541

https://juejin.im/entry/5a5f3b286fb9a01c9064e83b

https://www.cnblogs.com/MrJun/p/3351478.html

這裏咱們爲何使用Fork 而不是Star,這是由於star的項目你不是Pull Request 到源項目的,而Fork 是能夠的。想一想一下要是你在看源碼的過程當中發現了bug。而後提交給他們並審覈這是一件多酷的事情

4 Dubbo的大體介紹

下面的這個 Dubbo 官網上最爲經典的介紹,一張圖就將整個Dubbo 過程大體的介紹的差很少。

什麼是Dubbo?

一個分佈式服務治理框架

Dubbo的做用是什麼?

做用是解決下面的問題

單一應用架構

垂直應用架構

分佈式服務架構

流動計算架構

節點角色說明

 

調用關係說明

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

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

服務提供者在啓動時,向註冊中心註冊本身提供的服務。

服務消費者在啓動時,向註冊中心訂閱本身所需的服務。

註冊中心返回服務提供者地址列表給消費者,若是有變動,註冊中心將基於長鏈接推送變動數據給消費者。

服務消費者,從提供者地址列表中,基於軟負載均衡算法,選一臺提供者進行調用,若是調用失敗,再選另外一臺調用。

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

詳細介紹下 Registry Provider Consumer

由於這三者是整個Dubbo 調用過程的鏈路核心

talk is cheap show me the code

光說不行,我們經過看下項目中的源碼來看下dubbo整個結構

dubbo提供了 一個demo項目供你們測試調試 整個demo已經在你down的dubbo的項目中了

打開咱們的dubbo項目,咱們會看到這樣的一個子項目

這裏就是那個demo子項目 就是咱們能夠直接運行測試的項目

將整個測試項目展開,咱們會看見這幾個文件

咱們先進入consumer項目中的 Consumer類中,運行這個類。在這裏是一個main函數,咱們直接運行就ok了

以後咱們再啓動Provider 類。這樣的話,咱們就啓動了一對消費者和生產類。這樣的話,最簡單的dubbo程序就 啓動了。

在此我向你們推薦一個架構學習交流羣。交流學習羣號:821169538  

裏面會分享一些資深架構師錄製的視頻錄像:有Spring,MyBatis,Netty源碼分析

高併發、高性能、分佈式、微服務架構的原理,JVM性能優化、分佈式架構等這些

成爲架構師必備的知識體系。還能領取免費的學習資源,目前受益良多。

下面咱們根據這個最簡單的類來分析下

消費者的測試demo,循環調用方法

 

咱們經過配置文件xml來進行服務的發現和啓用,還有對註冊中心的配置

下面介紹下服務的提供者Provider

出處:https://www.tuicool.com

相關文章
相關標籤/搜索