環境搭建的步驟有哪些html
依賴外部的環境git
使用的開發工具github
源碼的拉取算法
結構大體介紹apache
1 依賴的外部環境性能優化
安裝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