你是否跟筆者一樣喜歡在 Node.js 開發後端伺服器,或是厭倦了現今主流的微服務框架,想要一探究竟 Moleculer 框架的全貌呢?
本系列筆者將參考官方手冊的章節及流程範例[1] 來進行講解,並且加入筆者實際的開發經驗來補充說明 Moleculer 的用法,也歡迎高手們分享你的開發經驗。
為什麼過去伺服器系統開發多採用單體式架構,在談到微服務之前需要先了解單體式系統,先來了解一下單體式系統的優缺點吧。
Fig. 1. 單體式系統架構圖
其實單體式系統已經可以滿足多數的應用需求了,但如果單體式系統夠各位大佬使用的話,大概就不會來看這個系列文章了吧,再來了解一下微服務架構的優缺點吧。
Fig. 2. 微服務系統架構圖
本系列文章乃參考官方手冊的章節流程來進行說明,適合 Moleculer 新手觀看,並不會有太多難以理解的內容,僅需要有基本的程式技能即可。
如果你已經是單體式系統開發老手了,非常推薦看這本由 Sam Newman 所撰寫的 單體式系統到微服務 [2] 一書,內容談論該如何從從初期規劃應用程式、分解系統資料庫,到逐步完成遷移的案例經驗。如果貴團隊的系統已經發展成熟,那麼非常推薦可以看這本書,相信可以帶給你許多幫助。
在眾多知名的微服務框架中,為什麼筆者要選擇 Moleculer 框架呢? 其實是因為筆者處在中小企業,研發的人力資源不足,系統運算需求又逐漸增加,單體式系統開始無法負荷。因此選擇同為 JavaScript 程式語言的 Node.js 作為後端並搭配 Moleculer 框架,就可以培養對後端有興趣的前端開發人員,快速轉成後端開發人員來支援開發。
[1] What is Moleculer?, https://moleculer.services/docs/0.14/
[2] Sam Newman (陳慕溪 譯), 單體式系統到微服務