騰訊宣佈開源 hel-micro-node,是 hel+下面的一個子模塊,專注於提供node端模塊聯邦解決方案,相比競品 @module-federation/node,提供更多獨有特性,接入更簡單,使用更方便。
功能特性
免構建:無需像@module-federation/node方案那樣,使用webpack構建你的node應用才能使用服務端模塊聯邦技術, 僅需引入 hel-micro-node sdk 即可。
平台化:通過helpack控制枱來讓服務器在運行期間載入新版本,helpack會通過web-socket長連接將版本更新消息通知到各個使用了hel-micro-node的node服務。執行以下命令可運行平台化示例:
git clone https://github.com/Tencent/hel
cd helpack
npm run build:server
npm run server
npm run user
然後訪問localhost:7776, 點擊圖中的紅圈處文字會跳轉到本地helpack平台
再點擊下圖紅圈位置可切換服務載入的示例模塊到新版本
此外,還能查看使用此模塊的服務器環境數據(注:需要sdk端自己上報)
當你的node服務需做到以下任意一項提效時,都可以使用hel-micro-node來解決。
- 減少鏡像編譯次數,節約平台磁盤空間
一次鏡像編譯通常都會是幾個G,模塊聯邦僅需要部署子模塊不到1M的產物到cdn即可,宿主不再需要走編譯代碼、發佈鏡像過程,大大降低了部署平台的鏡像存儲空間。
- 提高模塊分發效率,降低上線時間
由於模塊可動態下發到服務中,不需要服務重啓,當模塊被多個宿主使用時,可做到對單個模塊的一次部署,所有使用的宿主可立即生效的效果。
- 更快的模塊回滾速度,提高運維效率
當需要回滾到某個版本時,僅需要通過模塊管控平台或人工調用api操作即可,可做到秒級回滾。