1. 程式人生 > >maven+springmvc+dubbo+zookeeper

maven+springmvc+dubbo+zookeeper

為什麼要用dubbo? 還是讓官方來解釋吧: 一般 nginx+tomcat          | ----> Controller1--------->service1 請求----->nginx  |          |----->Controller2--------->service2 請求進了Controller 就只有一條路可以走了 使用dubbo後               | ------->service1 請求------>Controller---->   |               |---------->service2 簡單的說 也就是 一個Contoller 我可以部署多個 service   。 一般的mvc專案 包含 Controller、Servicei、ServiceImpl、dao三層 使用doubbo我們可以把專案拆分: Controller 作為 “消費著” 一個專案 ServiceImpl +dao 作為 “提供者” 一個專案 Servicei “介面” 可以作為一個專案 我們可以部署多個“提供著”。。。。。。。。。。。。。。。。。。。 Zookeeper作為Dubbo服務的註冊中心,Dubbo原先基於資料庫的註冊中心,沒采用Zookeeper,Zookeeper一個分散式的服務框架,是樹型的目錄服務的資料儲存,能做到叢集管理資料 ,這裡能很好的作為Dubbo服務的註冊中心,Dubbo能與Zookeeper做到叢集部署,當提供者出現斷電等異常停機時,Zookeeper註冊中心能自動刪除提供者資訊,當提供者重啟時,能自動恢復註冊資料,以及訂閱請求。我們先在linux上安裝Zookeeper,我們安裝最簡單的單點 Windons 安裝Zookeeper 1,Zookeeper 官網下載windons 版本,(不會下載百度) 單機安裝非常簡單,只要獲取到 Zookeeper 的壓縮包並解壓到某個目錄如 開啟目錄機構為: Zookeeper 的啟動指令碼在 bin 目錄下,Windows 下的啟動指令碼是 zkServer.cmd。 在你執行啟動指令碼之前,還有幾個基本的配置項需要配置一下,Zookeeper 的配置檔案在 conf 目錄下,這個目錄下有 zoo_sample.cfg 和 log4j.properties,你需要做的就是將 zoo_sample.cfg 改名為 zoo.cfg,因為 Zookeeper 在啟動時會找這個檔案作為預設配置檔案。下面詳細介紹一下,這個配置檔案中各個配置項的意義。 開啟以後
1 2 3 4 5 6 7 8 9 10 11 12 # The number of milliseconds of each tick tickTime=2000 # The number of ticks that the initial # synchronization phase can take initLimit=10 # The number of ticks that can pass between # sending a request and getting an acknowledgement syncLimit=5 # the directory where the snapshot is stored.
dataDir=/tmp/zookeeper # the port at which the clients will connect clientPort=2181
  • tickTime:這個時間是作為 Zookeeper 伺服器之間或客戶端與伺服器之間維持心跳的時間間隔,也就是每個 tickTime 時間就會發送一個心跳。
  • dataDir:顧名思義就是 Zookeeper 儲存資料的目錄,預設情況下,Zookeeper 將寫資料的日誌檔案也儲存在這個目錄裡。
  • clientPort:這個埠就是客戶端連線 Zookeeper 伺服器的埠,Zookeeper 會監聽這個埠,接受客戶端的訪問請求。
二.dubbo-admin。 dubbo管控臺的安裝 下載 dubbo-admin-2.5.3.war   解壓之後: 修改 META-INF/dubbo.properties檔案
1 2 3 dubbo.registry.address=zookeeper://127.0.0.1:2181 dubbo.admin.root.password=root dubbo.admin.guest.password=guest

address:zookeeper 的ip地址 後面是埠號  ,和zookeeper中配置的埠號一樣

修改完成後需要一個tomcat   開啟tomcat     \webapps\ROOT 目錄 ,此目錄放置的是tomcat的首頁,刪除所有的檔案,將解壓後修改好的所有的dubbo-admin 裡的檔案複製到 \webapps\ROOT中,

此時我們已經配置好了。現在可以啟動tomcat了 (主意:在啟動tomcat之前要先啟動zookeeper ,啟動zookeeper前面有介紹)。 啟動tomcat之後 在瀏覽器輸入 http://localhost:8080  (我的是8083) 進入dubbo管控臺的主頁

(備註:使用jdk1.8 tomcat啟動可能會出錯  有關 URI。。。。 的錯誤。我最後換成1.7了)

使用者名稱和密碼就是dubbo.properties 中配置的 預設的是 使用者名稱 :root, 密碼:root 

輸入使用者名稱和密碼之後 進入首頁           

 當然現在還沒有 消費者 和 提供者  現在我們來開發   消費者  和 提供者   配置 好 zookeeper之後 搭建 maven+springmvc+dubbo環境 新建3個maven專案 1,test-dubbo-provider ,java專案,作為提供者,serviceImpl 和dao 層 2,test-public-interface ,java專案,存放公共的介面 ,servicei        是service的介面  (備註:1要依賴2,  3也要依賴2) 3,test-web-consumer,web專案,存放 Controller 和 頁面  首先我們來開發 服務的提供者也就是 test-dubbo-provider ,目錄結構為 ApplicationContent-dubbo.xml        dubbo服務的配置檔案(名字隨意)     (待會再介紹) ApplicationContent.xml       spring的配置檔案 這兩個配置檔案 必須要放到 MATE-INF/spring/下面 (原因後面再說) UserServiceImpl.java  藉口的實現類
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18