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


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

1.dubbo架構

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

健壯性

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

 

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

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

2.zookeeper安裝 - windows安裝

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

1.把下載文件解壓到D盤(其他盤也可以,作者的是解壓到D盤)

2.打開zookeeper-3.4.5目錄

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

4.點擊conf目錄,復制zoo_sample.cfg文件到該目錄,並修改復制后的文件名字為:zoo.cfg

5、打開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

6、找到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
如果喜歡作者的文章,請關注“寫代碼的猿”訂閱號以便第一時間獲得最新內容。本文版權歸作者所有,歡迎轉載


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM