Dubbox入門配置

Dubbox框架學習

Dubbox是一個分佈式服務框架,前身是阿里巴巴的開源項目Dubbo,後來阿里再也不維護此框架;進而噹噹網進行了進一步維護,爲了和Dubbo區分就取名爲Dubbox。html

簡單而言,在Dubbox中主要存在三種角色:註冊中心(Registry)、 提供者(Provider)、消費者(Customer)。 而做爲分佈式框架之一的Dubbox就可以實現消費方和提供方之間的遠程調用,即對分別部署在不一樣服務器端的服務提供了一個相互交互的平臺。git

<!--more-->github

圖解Dubbox框架: web

節點角色說明算法

  • Provider: 暴露服務的提供方
  • Consumer: 調用遠程服務的服務消費方
  • Registry: 服務註冊與發現的註冊中心
  • Monitor: 統計服務調用次數和調用時間的監控中心
  • Container: 服務運行容器

調用關係說明vim

  1. 服務容器負責啓動、加載,運行服務提供者
  2. 服務提供者在啓動時,向註冊中心註冊本身提供的服務
  3. 服務消費者在啓動時,向註冊中心訂閱本身所需的服務
  4. 註冊中心返回返回服務提供者地址列表給消費者,若是有變動,註冊中心將基於長鏈接推送變動數據給消費者。
  5. 服務消費者,從提供者地址列表中,基於軟負載均衡算法,選一臺提供者進行調用,若是調用失敗,再選另外一臺
  6. 服務消費者和提供者,在內存中累計調用次數和調用時間,定時每分鐘發送一次統計數據到監控中心。

註冊中心zookeeper

安裝

安裝zookeeper

咱們首先要將本地的zookeeper安裝包發送到centos虛擬機上。(由於實際開發中服務器是不存在界面的,因此要學會使用命令行操做),這裏就用SecureCRT軟件操縱咱們的CentOS服務器。centos

  1. 在本機上安裝SecureCRT軟件(這裏我使用的是MacOS系統,服務器使用的是Centos系統)。
  2. 使用SecureCRT鏈接本身虛擬機上的服務器。
  • 首先咱們要配置CentOS服務器是聯網狀態,不然沒法鏈接。
  • 在centos的終端中輸入ifconfig命令就能顯示出來本身服務器的ip地址。
  • 使用SecureCRT新建一個鏈接,輸入ip地址以及用戶名、密碼就能鏈接上。
  1. 圖解 建立新鏈接

填寫鏈接信息瀏覽器

鏈接成功(服務器必須是聯網狀態)tomcat

  1. 使用SecureCRT上傳文件到服務器
  • 服務器鏈接成功後,咱們即可以將本地的zookeeper安裝包上傳到服務器上。在SecureCRT的命令窗口中輸入命令rz,即會彈出來窗口選擇要上傳到服務器上的文件。詳細請看 博文)
  • 上傳完畢咱們繼續在SecureCRT窗口中輸入ll命令能夠看到本身上傳的zookeeper-xx.tar.gz安裝包。
  1. 配置
  • 首先須要明白:由於在安裝CentOS虛擬機是輸入了用戶名和密碼,且沒有其餘配置,因此默認登陸的用戶就是偶同用戶身份,那麼上傳的文件實際上是在/home/用戶名/zookeeper-xx.tar.gz
  • 爲了方便操做。本人進行了如下配置:

    解壓縮文件:輸入tar zxvf zookeeper-xx.tar.gz 重命名文件夾:mv zookeeper-xx zookeeper 得到root權限:su -輸入密碼便可得到root權限 移動文件夾:mv zookeeper /root/,那麼此時zookeeper文件夾的位置是:/root/zookeeper服務器

啓動

通過以上步驟,咱們已經將zookeeper成功上傳到了服務器並作了一些準備工做。下面咱們開始部署並啓動zookeeper。

  1. /root/zookeeper/根目錄下輸入命令mkdir data,建立data文件夾。

  2. 輸入命令:cd /root/zookeeper/conf/,再輸入命令ll能夠查看此目錄下的文件。

  3. 重命名zoo_sample.cfg:輸入命令mv zoo_sample.cfg zoo.cfg,則文件將命名爲zoo.cfg

  4. 修改zoo.cfg:輸入命令vim zoo.cfg,在vim下找到並修改成以下:dataDir=/root/zookeeper/data(注意路徑),退出並保存。

  5. 啓動zookeeper:進入bin目錄,輸入cd bin;啓動zookeeper,輸入./zkServer.sh start,正常狀況加即可以啓動。

  6. 中止zookeeper: ./zkServer.sh stop;查看zookeeper狀態: ./zkServer.sh status

Dubbox本地jar的部署和安裝

這個特別須要注意,因爲阿里不在維護此項目後,由噹噹網維護Dubbox,可是其並無將jar提交到maven倉庫中。所以咱們去maven倉庫中看到dubbo的最新版是2.5.3, 但其實最新版本的Dubbox的版本是2.8.x,若是咱們直接使用maven倉庫中的版本,會遇到各類鏈接不上遠程服務器的問題。

這裏我給出來本身中的Dubbox.jar,你們直接放到本身本地maven倉庫中便可:百度雲連接 密碼:nq1l

pom中的座標:

<dependency>
	<groupId>com.alibaba</groupId>
	<artifactId>dubbo</artifactId>
	<version>2.8.4</version>			
</dependency>

Dubbo-admin的部署

dubbo-admin是dubbo的管理工具,Github項目地址:https://github.com/alibaba/dubbo

可是我發現這個GitHub地址其實被重置了,真正訪問的項目中並無顯示dubbo-admin,因此這裏找了一個現成的war包dubbo-admin.war,傳送門:百度雲鏈接 密碼:k8qs

安裝過程

實際就是部署簡單的war包到Tomcat下,至於Linux怎麼安裝Tomcat請參看百度,主要是如下幾點:

  1. 在服務器端安裝Tomcat。
  2. 將下載的dubbo-admin.war包部署到服務器上Tomcat的webapps目錄下。
  3. cd tomcat/bin進入bin目錄中,輸入./startup.sh即啓動了Tomcat服務器。
  4. 在本地瀏覽器上輸入服務器Ip:8080/dubbo-admin/,會彈出來登陸框,注意: 用戶名:root;密碼:root

如圖所示:

登陸後:

<br/>

交流

若是你們有興趣,歡迎你們加入個人Java交流羣:671017003 ,一塊兒交流學習Java技術。博主目前一直在自學JAVA中,技術有限,若是能夠,會盡力給你們提供一些幫助,或是一些學習方法,固然羣裏的大佬都會積極給新手答疑的。因此,別猶豫,快來加入咱們吧!

<br/>

聯繫

If you have some questions after you see this article, you can contact me or you can find some info by clicking these links.

相關文章
相關標籤/搜索