1. 程式人生 > >基於App-Hub實現微應用架構

基於App-Hub實現微應用架構

作者:李巨集訓,前端工程師,GE數字集團

什麼是微應用

如果我們想實現一個功能很複雜的大型應用程式,經常會隨著程式碼體積的增加而慢慢變得非常難以維護。微應用(microapp)架構的提出,正是為了解決這個問題。
我們可以把一個大型應用根據功能拆成很多個小的應用,然後通過app-hub把這些小應用整合到一起形成一個大型應用。這樣的好處是,每個微應用完全可以獨立開發、部署、升級,可以選用不同的技術框架,互相之間不會產生直接的影響。即使一個微應用崩潰,也不會影響其他微應用正常使用。

App-Hub

App-hub 是一個nodejs/express 編寫的應用,他主要提供如下功能:

  • 提供統一的使用者登入/認證流程,在微應用中不用處理登入邏輯
  • 提供一個統一的導航欄,可以在不用的微應用中進行切換
  • 提供一些JS工具,比如通知欄

使用App-hub之後,我們的應用結構如圖所示,不同的功能會通過不用的微應用來提供:

這裡寫圖片描述

App hub 的工作流程如圖所示

這裡寫圖片描述

  1. 當用戶開啟應用後,app hub 會首先從 tenant-config-service 獲取 tenant config, 主要包含UAA的配置資訊以及UI-config-service 的地址
  2. 根據UAA配置引導使用者進行登入認證
  3. 登入完成後,從 UI-Config-Service 獲取使用者可以訪問的微應用列表
  4. 根據URL對應的微應用,請求微應用的內容並返回給使用者

App hub 對整合的微應用會有一定的要求:

  • 微應用的html中應該只有content內容,不包含 html 和 body 等標籤
  • 微應用中請求資源的url必須是相對於當前頁面的路徑
  • 微應用應該符合app-hub的樣式規範

感謝使用Predix
- 在使用中您有任何問題,請訪問我們的論壇http://bbs.csdn.net/forums/GEPredix GE數字集團的技術專家們會線上回答您的問題。
- 也請訪問我們在CSDN的Predix專區http://predix.csdn.net 瞭解更多Predix的內容和相關活動。