本文是在雲平臺構建過程當中的一些經驗總結,主要說明了PaaS層的微服務架構設計和落地。html
目標
下降系統的複雜度,減小系統的不肯定性。數據庫
方法
量化,標準化,自動化。架構
規範
流程規範
- 工程建立流程
- 開發流程
- 源碼管理流程
- 測試流程
- 發佈流程
設計規範
代碼規範
工具規範
- 自動化開發工具
- CI/CD工具
- 單元測試工具
- 代碼質量管理工具
- 自動化測試工具
架構實踐
標準化業務層次
梳理業務體系和服務能力,將PaaS平臺分層。運維
- 聚合領域服務能力的應用服務層
- 提供基本數據訪問能力的領域服務層
![](http://static.javashuo.com/static/loading.gif)
標準化治理方式
統一使用標準化的微服務治理組件,規範微服務工程模板和領域模型。微服務
a, 治理組件
- Registry: Eureka(服務發現)和Spring Cloud Config(統一配置);
- UAA: User Accout and Authentication(統一身份驗證);
- Monitor:ELK(日誌監控)。
b, 工程模板
- JHipster標準的工程模板
- JHipster標準的領域模型
![](http://static.javashuo.com/static/loading.gif)
標準化集成單元
一個標準化集成單元包括應用網關,應用微服務,領域網關,領域微服務,數據庫等。工具
- 領域微服務(Domain Service)
- 領域網關(Domain Gateway)
- 應用微服務(Application Service)
- 應用網關(Application Gateway)
- 數據庫(DB)
![](http://static.javashuo.com/static/loading.gif)
自動化標準工做
- 經過自動化工具,自動生成標準化代碼,提升開發效率和代碼質量。具體實踐可參考這裏。
- 經過DevOps工具,代碼提交後自動構建部署,實現開發和測試環境的自動化運維。具體實踐可參考這裏。