springboot+mybatis+dubbo+aop日誌第一篇

本篇文章主要講述項目搭建過程,不會涉及過多的基礎知識,本項目是做者對前段時間學習的一個總結,主要使用到技術有:maven父子工程、springboot、mybatis、dubbo、zookeeper、使用aop記錄每一個service服務方法的入參、方法名稱、調用時長、出參到日誌文件等,絕對是一個入門的好案列。html

1.dubbo架構

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

健壯性java

  • 監控中心宕掉不影響使用,只是丟失部分採樣數據
  • 數據庫宕掉後,註冊中心仍能經過緩存提供服務列表查詢,但不能註冊新服務
  • 註冊中心對等集羣,任意一臺宕掉後,將自動切換到另外一臺
  • 註冊中心所有宕掉後,服務提供者和服務消費者仍能經過本地緩存通信
  • 服務提供者無狀態,任意一臺宕掉後,不影響使用
  • 服務提供者所有宕掉後,服務消費者應用將沒法使用,並沒有限次重連等待服務提供者恢復

 

更多的dubbo使用說明,請參見dubbo官方文檔說明web

http://dubbo.apache.org/zh-cn/docs/user/preface/architecture.html算法

2.zookeeper安裝 - windows安裝

zookeeper下載地址:https://pan.baidu.com/s/1a5w9R6X-seoYCBbyxeA5vA 提取碼: 64i3spring

1.把下載文件解壓到D盤(其餘盤也能夠,做者的是解壓到D盤)數據庫

2.打開zookeeper-3.4.5目錄apache

3.在該目錄裏新建兩個文件夾:data、logwindows

4.點擊conf目錄,複製zoo_sample.cfg文件到該目錄,並修改複製後的文件名字爲:zoo.cfgapi

五、打開zoo.cfg文件,把步驟3建立的data、log路徑賦值給dataDir和dataDirLog,以下所示(這是做者建立的額data、log目錄):緩存

dataDir=D:\\java\\zookeeper-3.4.5\\zookeeper-3.4.5\\data

dataDirLog=D:\\java\\zookeeper-3.4.5\\zookeeper-3.4.5\\log

六、找到bin目錄,雙擊zkServer.cmd,便可啓動zookeeper服務,啓動成功以下如所示

3.項目框架

項目採用maven父子工程的模式進行管理,以下圖所示

  • dubbo-demo-master爲父工程,管理其餘子工程。

  • dubbo-demo-model爲實體層,主要用來定義實體、DTO等數據對象

  • dubbo-demo-api爲接口層,單獨抽出來一層,能夠提供其餘項目引用,該層依賴dubbo-demo-model

  • dubbo-demo-service爲服務層,實現dubbo-demo-api裏定義的接口,該層依賴dubbo-demo-api、dubbo-demo-model,zookeeper

  • dubbo-demo-web爲UI層,主要定義各類Controller,該層依賴dubbo-demo-api、dubbo-demo-model、zookeeper

下一篇文章會介紹api、service層的代碼實現,如何經過dubbo把服務發佈出去。

 

做者: Eric.Chen
出處: https://www.cnblogs.com/lc-chenlong
若是喜歡做者的文章,請關注「寫代碼的猿」訂閱號以便第一時間得到最新內容。本文版權歸做者全部,歡迎轉載
相關文章
相關標籤/搜索