《把玩Dubbo系列》Dubbo源碼環境搭建

前言

《把玩Dubbo系列》是我一直以來想做的一件事,一方面因爲Dubbo是我在日常工作中一直會用到的一款RPC框架,所以有必要對它的原理深入理解一下,其次對自己所學的設計模式的一個鞏固並且可以對設計代碼思路有一個很好的擴展,然後,dubbo中用到了netty,可以藉此逐步接觸netty相關知識點。當然最重要的是爲了面試吹牛逼,漲薪資,這是最關鍵的!!!!。

環境搭建

環境搭建總共分爲五個步驟:環境準備、克隆源碼、導入idea、編譯、測試運行

環境準備

系統:Mac OS

IDEA:2018.1.3

JDK:1.8

maven:apache-maven-3.5.3

ZooKeeper 3.6.0(爲了測試運行使用,如果單純看dubbo源碼可以不需要)

Dubbo源碼:github.com/apache/dubb…

Dubbo註釋源碼:github.com/MrSorrow/du…

克隆源碼

Dubbo官網本身指導我們下載完源碼本地使用Maven命令行構建,再生成IDEA工程結構導入。我這裏就不那麼麻煩了,直接clone完之後用idea軟件導入即可,效果是一樣的。

克隆源碼到本地

命令:git clonegithub.com/MrSorrow/du…

1、 先進入到自己本地idea工程的路徑

2、輸入git clonegithub.com/MrSorrow/du…(小編是由於先fork,fork之後再clone,所以導致圖片中的地址不一樣)

克隆完了之後會在本地生成對應的dubbo工程:

導入IDEA

打開IDEA,點擊File->New->Project From Existing Source,選擇好本地倉庫,這裏直接選擇Dubbo工程根目錄的pom文件即可,點擊Open。

配置工程

1、maven環境配置

2、鉤上遞歸搜索項目

3、鉤上自動載入maven依賴

4、一路next工程導入成功。等待maven依賴更新成功,顯示出IDEA工程目錄如下:

編譯

找到dubbo-parent工程,上面顯示了root。進行clean和install。install之前記得跳過測試,IDEA中選中那個閃電按鈕即可!

溫馨小提示:根據親身體驗,編譯大約需要5-10分鐘,大家可以偷偷划水!

至此,其實我們的dubbo源碼閱讀環境就搭建好了,已經不妨礙大家閱讀dubbo源碼了,這裏做的最後一步是測試,這裏以zookeeper爲例。

測試代碼

安裝註冊中心

下載zk的壓縮包

mirror.bit.edu.cn/apache/zook…

選擇3.4.14版本的,3.4.14這個版本是很穩定的,然後解壓,解壓下載得到的ZooKeeper壓縮包,發現有bin,conf,lib等目錄。

bin目錄中存放有運行腳本;

conf目錄中存放有配置文件;

lib目錄”中存放有運行所需要第三方庫。

在conf目錄下,新建一個名爲zoo.cfg的文件,或者直接zoo_sample.cfg,改成這個zoo.cfg,其中內容如下:

# 服務器與客戶端之間交互的基本時間單元(ms)tickTime=2000# zookeeper所能接受的客戶端數量initLimit=10# 服務器和客戶端之間請求和應答之間的時間間隔syncLimit=5# 數據目錄. 可以是任意目錄.dataDir=/zookeeper-3.4.14/data# log目錄, 同樣可以是任意目錄. 如果沒有設置該參數, 將使用和#dataDir相同的設置.dataLogDir=/zookeeper-3.4.14/log# 監聽client連接的端口號.clientPort=2181# the maximum number of client connections.# increase this if you need to handle more clients#maxClientCnxns=60## Be sure to read the maintenance section of the # administrator guide before turning on autopurge.## http://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_maintenance## The number of snapshots to retain in dataDir#autopurge.snapRetainCount=3# Purge task interval in hours# Set to "0" to disable auto purge feature#autopurge.purgeInterval=1複製代碼

啓動註冊中心

切換到ZK的目錄,命令行啓動ZK(如果發現啓動不成功,很可能是權限問題,命令在圖中)

啓動Provider

看圖,找到demo模塊的provider並註冊到註冊中心。

啓動Consumer

看圖,找到demo模塊下的consumer進行rpc調用。

點關注,不迷路

好了各位,以上就是這篇文章的全部內容了。。。我後面會每週都更新常用技術棧相關的文章,敬請期待!!!如果這個文章寫得還不錯,覺得「小沙彌」我有點東西的話  求點贊👍 求關注❤️  求分享👥  對我來說真的 非常有用!!!

作者:迷途小沙彌

鏈接:https://juejin.im/post/6875894844821569549

來源:掘金

著作權歸作者所有。商業轉載請聯繫作者獲得授權,非商業轉載請註明出處。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章