如何實現前端微服務化?
阿新 • • 發佈:2019-02-11
譯者按: 微服務在後端開發中大行其道,其實對於越來越複雜的前端應用來說,微服務也是一種不錯的選擇。
為了保證可讀性,本文采用意譯而非直譯。另外,本文版權歸原作者所有,翻譯僅用於學習。
對於網頁應用,現代的開發方法使得前端部分變得越來越大,與之對應的後端反而變小。我們的網站Weld的程式碼中90%都是前端相關。我可以想象大多數現代的網頁應用都類似。
網頁應用一直在演化,網頁開發的技術也在不斷進步。現代的開發甚至依賴於在同一個專案中使用多個不同的框架。比如我們使用一些依賴於jQuery、AngularJS 1.x的舊的模組,和React、Vue裡面的新模組。
單一框架無法應對大型網頁應用
我們需要一種方法可以把一個大的專案拆分成很多個小的模組,讓它們獨自執行。
舉個例子:
能夠想象我們需要如下技術:
- 一個共享的JavaScript程式碼庫比如用於管理路由和使用者會話,以及一些共享的CSS。當然要越少越好。
- 一堆獨立的模組,也就是微應用(‘mini-app’)。每一個使用各自的框架搭建,使用不同的程式碼庫管理。
- 一個可以將所有模組連線起來的釋出系統,可以將整個服務執行。任何模組的更新都會觸發服務的重啟。
前端微服務化
實現方案
我總結了一下幾種實現方案:
資源
- Zalando公司開發的Mosaic專案,提供了一些列的庫來構建微服務架構,該架構可以支撐大型網站。可以看看這個演講。
- Micro Frontends包含了一些技術、策略和方法構建現代網頁應用來服務於多個獨立團隊開發的情況。
更多
關於Fundebug
Fundebug專注於JavaScript、微信小程式、微信小遊戲、支付寶小程式、React Native、Node.js和Java實時BUG監控。 自從2016年雙十一正式上線,Fundebug累計處理了6億+錯誤事件,得到了Google、360、金山軟體等眾多知名使用者的認可。歡迎免費試用!