一、dubbo簡單介紹
二、搭建zookeeper
三、搭建dubbo監控中間
四、設置裝備擺設項目
五、測試
初接觸的分布式項目,利用到了dubbo,zookeeper,之前沒有利用過,項目架構年夜致如下:
一、dubbo簡單介紹
利用dubbo官網的一張圖來簡單介紹下dubbo:
Registry:注冊中間,半斤八兩于房產中介,辦事供給者和利用者都需要在這里注冊/利用辦事,我利用zookeeper實現。
Monitor:監控中間,半斤八兩于房產局,它可以統計辦事供給者和辦事利用者的一些信息,及他們之間的關系,我利用dubbo admin實現。
Provider:辦事供給者,半斤八兩于房主,供給辦事。
Consumer:辦事消費者,想當于租戶,利用辦事。
下面我通俗的詮釋下dubbo的整個流程,我將辦事比方當作房子:
start:dubbo一啟動,房主想好本身籌辦要租出去的房子
register:房主將房子拿到房產中介何處進行掛號,并留下本身的聯系體例
subscribe:租戶告訴房產中介本身想租一個什么樣的房子
notify:房產中介答復給租戶合適前提的房子的房主的聯系體例
invoke:租戶拿著聯系體例去找房主租房子
count:房產局全程監控著房主和租戶之間的買賣
此中:
start、register、subscribe在dubbo辦事一啟動就完當作了
notify、count是異步執行的
invoke是同步執行的
二、搭建zookeeper
下載zookeeper-3.4.12
下載后將其解壓:
在zookper文件夾下成立data文件夾用于存放日記和數據;
進入conf目次,對zoo.cfg其進行點竄;
設置裝備擺設下dataDir路徑,為之前建立的兩個文件夾的路徑,clientPort利用默認的2181端口即可:
進入到bin目次,啟動辦事即可:
三、搭建dubbo監控中間
版本要求:
請利用dubbo-admin-2.5.6.war及以上版本,不然會不撐持JDK1.8!
小心踩坑:
若是你的zookeeper和dubbo-admin在一臺辦事器上,dubbo-admin不消點竄任何內容!
若是不在一臺辦事器上,將war包解壓后,點竄項目/WEF-INF/dubbo.properties文件,將zookeeper地址改為其地點辦事器的地址(這里同時能點竄root用戶和guest用戶的暗碼)。
四、設置裝備擺設項目
這里牽扯到項目代碼,若是看不懂,可以下載文章開首的項目源碼,或者直接利用官方供給的dubbo-demo,更為簡單。
起首給辦事供給方和辦事利用方導入依靠包:
還需要在相關設置裝備擺設文件加上dubbo的bean的頭部約束,將下面的添加到bean頭部即可:
4.1 辦事供給方代碼
對于辦事供給方,若是我們想要TbItemService對外供給辦事:
需要點竄spring關于service的設置裝備擺設文件,插手dubbo的設置裝備擺設信息:
dubbo:application:供給方的應用名
dubbo:registry:注冊中間的類型和地址
dubbo:protocol:這個辦事要表露在哪個端口上(利用方按照這個端口利用辦事)
dubbo:service:設置表露的辦事的接口,ref為該接口的bean,timeout為超不時間
4.2 辦事利用方代碼
辦事利用方,我利用Spring MVC來實現,點竄Spring MVC的設置裝備擺設文件,插手dubbo的設置裝備擺設:
dubbo:application: 利用方的應用名
dubbo:registry:注冊中間的類型和地址
dubbo:reference:要利用的辦事的接口,并將返回的注入bean,名稱為id設的值
若是設置裝備擺設沒有問題的話,此刻利用方已經可以或許利用供給方供給的辦事了,直接將tbItemService注入進來即可:
五、測試
辦事器上別離啟動zookper和tomcat
別離啟動辦事供給方的項目和辦事利用方的項目:
測試下/items/{id}這個API:
當作功!下面再拜候下監控中間,因為監控中間和zookeeper在一臺辦事器上,我的tomcat擺設在8888端口,即拜候192.168.30.145:8888/dubbo-admin即可,用戶名暗碼默認為root:
查看所有注冊的辦事:
查看包羅消費者和供給者的所有應用名:
消費者、供給者具體信息:
0 篇文章
如果覺得我的文章對您有用,請隨意打賞。你的支持將鼓勵我繼續創作!