Cloud-Platform部署學習


1. Cloud-Platform部署學習

1.1. 介紹

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

1.2. 架構

1240

1.3. 架構摘要

1.3.1. 服務鑒權

  1. 通過JWT的方式來加強服務之間調度的權限驗證,保證內部服務的安全性。

1.3.2. 監控

  1. 利用Spring Boot Admin 來監控各個獨立Service的運行狀態;利用Hystrix Dashboard來實時查看接口的運行狀態和調用頻率等。

1.3.3. 負載均衡

  1. 將服務保留的rest進行代理和網關控制,除了平常經常使用的node.js、nginx外,Spring Cloud系列的zuul和ribbon,可以幫我們進行正常的網關管控和負載均衡。其中擴展和借鑒國外項目的擴展基於JWT的Zuul限流插件,方面進行限流。

1.3.4. 服務注冊與調用

  1. 基於Consul來實現的服務注冊與調用,在Spring Cloud中使用Feign, 我們可以做到使用HTTP請求遠程服務時能與調用本地方法一樣的編碼體驗,開發者完全感知不到這是遠程方法,更感知不到這是個HTTP請求。

1.3.5. 熔斷機制

  1. 因為采取了服務的分布,為了避免服務之間的調用“雪崩”,采用了Hystrix的作為熔斷器,避免了服務之間的“雪崩”。

1.4. consul

1.4.1. 啟動

  1. consul agent -dev
  2. 參考 https://blog.csdn.net/forezp/article/details/70188595

1.4.2. 效果

1.5. 后端

1.5.1. 配置

  1. 先啟動rabbitmq、redis、mysql以及consul注冊中心
  2. 運行數據庫腳本:依次運行數據庫:ace-admin/db/init.sql、ace-auth-server/db/init.sql、ace-trace
  3. 修改配置數據庫配置:ace-admin/src/main/resources/application.yml、ace-gate/src/main/resources/application.yml(實際不止這點,需要配置地址的xml上都配上自己的就行)
  4. 按順序運行main類:CenterBootstrap(ace-center)、AuthBootstrap(ace-auth-server)、AdminBootstrap(ace-admin)、GatewayServerBootstrap(ace-gateway-v2)

1.6. 前端

1.6.1. 安裝

  1. https://gitee.com/minull/AG-Admin-v2.0 下載前端代碼
  2. 下載相應版本的nodejs,我在本地window測試,所以下載 node-v6.11.2-x86.msi 該版本的nodejs,這里如果下載最新版的,是運行不起來的,一開始我也沒注意,被坑到了
  3. 我直接給出下載地址了 https://nodejs.org/dist/v6.11.2/
# 2. 安裝依賴
npm install
# 本地開發 開啟服務
npm run dev

  1. 瀏覽器訪問 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. 總結

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


免責聲明!

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



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