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/70188595html

    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平臺
相關文章
相關標籤/搜索