1.1. 介紹
- Cloud-Platform是國內首個基於Spring Cloud微服務化開發平台,核心技術采用Spring Boot2以及Spring Cloud Gateway相關核心組件,前端采用vue-element-admin組件。具有統一授權、認證后台管理系統,其中包含具備用戶管理、資源權限管理、網關API管理等多個模塊,支持多業務系統並行開發,可以作為后端服務的開發腳手架。代碼簡潔,架構清晰,適合學習和直接項目中使用。
1.2. 架構

1.3. 架構摘要
1.3.1. 服務鑒權
- 通過JWT的方式來加強服務之間調度的權限驗證,保證內部服務的安全性。
1.3.2. 監控
- 利用Spring Boot Admin 來監控各個獨立Service的運行狀態;利用Hystrix Dashboard來實時查看接口的運行狀態和調用頻率等。
1.3.3. 負載均衡
- 將服務保留的rest進行代理和網關控制,除了平常經常使用的node.js、nginx外,Spring Cloud系列的zuul和ribbon,可以幫我們進行正常的網關管控和負載均衡。其中擴展和借鑒國外項目的擴展基於JWT的Zuul限流插件,方面進行限流。
1.3.4. 服務注冊與調用
- 基於Consul來實現的服務注冊與調用,在Spring Cloud中使用Feign, 我們可以做到使用HTTP請求遠程服務時能與調用本地方法一樣的編碼體驗,開發者完全感知不到這是遠程方法,更感知不到這是個HTTP請求。
1.3.5. 熔斷機制
- 因為采取了服務的分布,為了避免服務之間的調用“雪崩”,采用了Hystrix的作為熔斷器,避免了服務之間的“雪崩”。
1.4. consul
1.4.1. 啟動
- consul agent -dev
- 參考 https://blog.csdn.net/forezp/article/details/70188595
1.4.2. 效果

1.5. 后端
1.5.1. 配置
- 先啟動rabbitmq、redis、mysql以及consul注冊中心
- 運行數據庫腳本:依次運行數據庫:ace-admin/db/init.sql、ace-auth-server/db/init.sql、ace-trace
- 修改配置數據庫配置:ace-admin/src/main/resources/application.yml、ace-gate/src/main/resources/application.yml(實際不止這點,需要配置地址的xml上都配上自己的就行)
- 按順序運行main類:CenterBootstrap(ace-center)、AuthBootstrap(ace-auth-server)、AdminBootstrap(ace-admin)、GatewayServerBootstrap(ace-gateway-v2)
1.6. 前端
1.6.1. 安裝
- 從 https://gitee.com/minull/AG-Admin-v2.0 下載前端代碼
- 下載相應版本的nodejs,我在本地window測試,所以下載 node-v6.11.2-x86.msi 該版本的nodejs,這里如果下載最新版的,是運行不起來的,一開始我也沒注意,被坑到了
- 我直接給出下載地址了 https://nodejs.org/dist/v6.11.2/
# 2. 安裝依賴
npm install
# 本地開發 開啟服務
npm run dev
- 瀏覽器訪問 http://localhost:9527
1.6.2. 發布
# 發布測試環境 帶webpack ananalyzer
npm run build:sit-preview
# 構建生成環境
npm run build:prod
1.6.3. 部署nginx配置參考
location / {
# 指向我們打包后上傳的前端文件
root /opt/nginx/dist;
index index.html;
}
location /jwt/ {
# 轉發請求到后端服務網關
proxy_pass http://127.0.0.1:8765/jwt/;
}
location /api/ {
proxy_pass http://127.0.0.1:8765/api/;
}
1.6.4. 效果

1.7. 總結
- 這個框架,看介紹還是很高大上的,一開始打算撘一撘這個項目是沖着研究gateway網關去的,搭完發現還是不理解它哪里用到了gateway
- 新手不建議用它作為基礎搭建cloud平台