1. 程式人生 > >maven下搭建springMVC+mybatis+mysql+zookeeper+dubbo

maven下搭建springMVC+mybatis+mysql+zookeeper+dubbo

我這邊是從沒有maven開始搭建的,也順便說下maven吧

1.maven本地倉庫搭建

2.下載後解壓,放到一個位置後,配置環境變數

    a.新增M2_HOME,內容如下,我的放在E盤

E:\webServices\apache-maven-3.3.9

    b.Path的內容頁需要編輯

    在最後面新增;%M2_HOME%\bin    (注意與前面的一定要以“;”隔開)

    

3.在命令框輸入mvn-version如果可以看到maven的版本資訊,你們你就配置好了

 

4.myeclipse/eclipse配置maven

    a.首先是maven指定jdk版本(myeclipse),eclipse mars是沒有這個配置的,其他版本不知道

    b.installations配置

c.userSetting

  到這裡開發工具的maven外掛就配置完成了。注意,eclipse也是配置這幾項

另外說明下maven下載嘉瑞寶路徑的配置,在apache-maven-3.3.9\conf\settings.xml裡面(54行開始)配置

 <localRepository>E:\MavenRepository</localRepository>

這樣以後jar就會下載到E:\MavenRepository這個目錄下

5.新建3個maven專案,其中2個web型別帶框架,1個最普通的專案不帶框架

    其實這2個web框架跟普通的框架沒什麼區別,其實就是3個jar包,一個配置檔案的引入,我也不想寫具體的搭建了,就說下我這3個專案的角色。

    dubboMavenAPI:對外暴露的jar包,dubbo的介面都在這個裡面,裡面還有實體物件或出引數物件(出參物件是實體的子集)

    dubboMavenServicer:(服務提供方)對外暴露介面包的具體實現,這個專案需要引入zookeeper、dubbo、zkClient的jar。另外一個對外暴露介面的配置檔案:dubbo-provider.xml,這個檔案注意需要spring載入,直接在spring的配置檔案裡用include就可以,這邊都是基於註解的。專案裡面配置檔案註釋寫的狠詳細,自己看。

    confManager:(服務消費方),這個專案跟服務提供方一樣,就是載入的dubbo的配置檔案:dubbo-consumer.xml,也需要spring載入,後面基於註解使用,裡面的配置與服務提供方的區別自己比較體會,註釋狠好理解。

上面是基本的框架搭建,後面涉及的服務長連線,事務是註解的,優化需要自己摸索。

6.現在關鍵的就是dubbo的註冊配置中心,也就是後面可以看服務提供方狀態和消費狀態,以及負載均衡的管理中心搭建了。

第一步:在Linux上安裝Zookeeper

       Zookeeper作為Dubbo服務的註冊中心,Dubbo原先基於資料庫的註冊中心,沒采用Zookeeper,Zookeeper一個分散式的服務框架,是樹型的目錄服務的資料儲存,能做到叢集管理資料 ,這裡能很好的作為Dubbo服務的註冊中心,Dubbo能與Zookeeper做到叢集部署,當提供者出現斷電等異常停機時,Zookeeper註冊中心能自動刪除提供者資訊,當提供者重啟時,能自動恢復註冊資料,以及訂閱請求。我們先在linux上安裝Zookeeper,我們安裝最簡單的單點,叢集比較麻煩。

    (2)我們放到Linux下的一個資料夾,然後解壓: 

     #tar zxvf zookeeper-3.4.6.tar.gz

  (3)然後在對應的zookeeper-3.4.6/conf 下有一個檔案zoo_sample.cfg的這個檔案裡面配置了監聽客戶端連線的埠等一些資訊,Zookeeper 在啟動時會找zoo.cfg這個檔案作為預設配置檔案,所以我們複製一個名稱為zoo.cfg的檔案,如圖所示:

     

   我們檢視一下這個檔案的裡面的一些配置資訊,如圖所示:

    

說明:

 clientPort:監聽客戶端連線的埠。

 tickTime:基本事件單元,以毫秒為單位。它用來控制心跳和超時,預設情況下最小的會話超時時間為兩倍的 tickTime。

 我們可以對配置檔案的埠等或者進行高階配置和叢集配置例如:maxClientCnxns:限制連線到 ZooKeeper 的客戶端的數量等

 (4)啟動Zookeeper 的服務,如圖所示:

    

 到這邊Zookeeper的安裝和配置完成

  第二步:配置dubbo-admin的管理頁面,方便我們管理頁面

    (1)下載dubbo-admin-2.4.1.war包,在Linux的tomcat部署,先把dubbo-admin-2.4.1放在tomcat的webapps/ROOT下,然後進行解壓:

       #jar -xvf dubbo-admin-2.4.1.war

    (2)然後到webapps/ROOT/WEB-INF下,有一個dubbo.properties檔案,裡面指向Zookeeper ,使用的是Zookeeper 的註冊中心,如圖所示:

        

   (3)然後啟動tomcat服務,使用者名稱和密碼:root,並訪問服務,顯示登陸頁面,說明dubbo-admin部署成功,如圖所示:

      

7.將那2個web專案部署起來後,(分別部署在2個tomcat,最好是2臺不同ip的機器,看的明顯些)

8.如果以上都沒有問題了,那麼你可以在我提供的框架下編碼了,或者自己搭建自己的框架,參考我的配置檔案。

翻過高山了,沿途的景色可以回去慢慢欣賞。。。。

 

最後補充說的就是dubbo2.5.3與spring高版本相容問題,注意看maven裡引入dubbo的jar時與其他jar的區別,我想你就會懂了,這個坑,坑的我曾一度想放棄直接搭dubbox2.8.4版本,最後因為jdk的問題還是沒有下山硬著頭皮繼續翻越。