Google開源能夠解決分散式應用程式開發複雜性的框架Service Weaver,讓用戶能夠以編寫模組化單體程式的方法,開發微服務應用程式,而且Service Weaver高可移植性設計,使得應用程式可靈活地部署在本機或是雲端。

官方提到,在編寫微服務應用程式時,開發者需要花費大量的心力,維護多個微服務二進位檔案,這些檔案具有個別的配置檔案、網路端點和序列化資料格式,而這些額外的工作會大幅降低開發速度,而且因為微服務架構的限制,也降低開發者改進應用程式的靈活度。

相較於微服務應用程式,單體二進位檔案更容易編寫,不僅能使用程式語言原生型別和方法呼叫,而且只要編輯程式碼並且重新部署就能夠進行更新。Service Weaver框架想要達成的目標,便是讓開發者能夠以單體應用程式開發方法,建立微服務應用程式。

Service Weaver中的重要概念便是模組化單體開發模型,開發者僅使用程式語言的原生本機資料結構和方法呼叫,編寫單體二進位檔案,再將二進位檔案組織成一組模組。在Service Weaver中,用戶可以選擇將模組和main()分離,如此Service Weaver便會自動將模組呼叫翻譯成跨機器的RPC。

Service Weaver框架解決微服務應用程式開發的繁瑣工作,因此即便開發者後續要更改應用程式,像是調整方法中的參數,便只要更改方法的簽章以及呼叫的地方,接著重新部署應用程式,便完成更改的動作,Service Weaver會確保新版本的main(),只會和新版本的方法通訊。

Google提到,Service Weaver的好處在於,開發者可以完全專注在應用程式邏輯開發上,而不需要理會拓樸結構和服務間的通訊。Service Weaver還提供靈活的可移植性,讓用戶可以不需要修改程式碼,應用程式就能夠在本機桌面或是雲端等環境運作。

Service Weaver有兩個主要核心部分,一個是程式開發函式庫,供開發者將應用程式編寫成單體模組化二進位檔案,另一個則為部署器,可配置應用程式執行時的拓樸,並將其部署成一組微服務。目前Service Weaver仍在初期階段,提供Go語言程式開發函式庫,以及可部署到本地和GKE的部署器,以及一組API,供開發者自己編寫其他平臺的部署器。

熱門新聞

Advertisement