巢晟盛

摘要:隨著互聯網時代不斷的發展,軟件應用于各行各業,隨之帶來了單體應用無法滿足某些場景的業務需求、維護升級、耦合性、部署效率及擴展等問題,微服務架構逐步取代;SpringBoot致力于快速方便地開發單個微服務,解決ssm大量手工配置的問題,高效地處理復雜的業務邏輯,穩定地支撐SpringCloud微服務協調治理框架;前后端分離實現了前后端架構的解耦,有利于提高開發效率,有利于降低軟件設計的耦合度,有利于提高處理復雜業務的能力。MVVM模型是MVC的優化增強,實現視圖和模型的分離,應用于程序的分層開發,適用于數據操作頻繁的場景。
關鍵詞:SpringBoot技術;微服務;前后分離;MVVM模型;數據驅動
中圖分類號:TP319? ? ? 文獻標識碼:A
文章編號:1009-3044(2021)23-0128-02
Abstract: With the development of Internet Age, softwares are adopted in all walks of life. Monolith cant satisfy certain scenarios demand, maintenance upgrade, coupling, deployment efficiency, extension and etc so that Microservices gradually replace it. SpringBoot is devoted to developing a single microservice quickly, solving the problem of many manual configuration issues in SSM,? handling complex business logic effectively and supporting the SpringCloud microservices coordination governance framework Stably.? The front-end and rear-end separation technology realizes the decoupling of front and rear end architecture, which is beneficial to improve the development efficiency, reduce the coupling degree of software design, and improve the ability to deal with complex business. MVVM model is the optimization and enhancement of MVC, separate view and model, applied to the layered development of the program, used for data operation frequent scene.
Key words: SpringBoot; microservices; front and rear separation; MVVM model; data driven
1 背景
在移動互聯網應用高速發展的推動下,軟件設計規模隨著需求逐漸龐大,業務場景更為復雜,對軟件系統的性能、吞吐率、穩定性、擴展等特性提出了更高的要求,在此背景之下,微服務[1]架構逐漸取代單體架構,迎來了新的技術迭代更新。其中,SpringCloud[2]是Pivotal推出的基于SpringBoot的一套關注全局的微服務協調治理框架,致力于合并管理單體微服務,而SpringBoot專注于方便地開發單個個體微服務。在前后端分離的開發模式下,實現了前端和后端的并行開發,互不影響,一方面提高了開發效率,另一方面代碼質量更為規范、專業。
MVVC模型是馬丁·福勒的PM(Presentation Model)設計模式的變體,由微軟架構師Ken Cooper和Ted Peters開發,通過利用WPF(微軟.NET圖形系統)和Silverlight(WPF的互聯網應用派生品)的特性來簡化用戶界面的事件驅動程序設計。由于MVVM是MVC的改版,因此在研究MVVM模式時,有必要結合MVC一并進行討論和比較。
2 基于目前互聯網應用開發架構、框架相關對比
2.1 微服務架構與單體架構
1)系統更改部署。單體應用是按單體應用程序單元來構建的,對系統進行更改之后,必須構建和部署服務器端應用程序的更新版本;微服務通過標準化的業務API實現功能,采用松耦合的設計原則,允許服務的所有者自由實現并更改基于API的數據處理或者組合服務系統,從而消費者不會受到服務內部實現變化的影響。
2)軟件開發流程。單體應用龐大復雜,整個應用理解難度大,模塊重用困難、擴展麻煩及重復部署更新版本緩慢;微服務將傳統模式下的單體應用拆成獨立的服務,從而實現單獨開發、單獨部署、單獨維護。
3)市場價值。單體應用庫使用耗時,適應性差,維護成本高,從而增加了技術債務;微服務減少了技術債務,壓縮了開發時間,從而降低了成本提高利潤。
4)特性。微服務具有復雜度可控、獨立部署、容錯性能好以及擴展性高等特性。
2.2 SpringBoot與SSM
1)SpringBoot與Spring[3]的區別。SpringBoot可以建立獨立的Spring應用程序,內置服務端容器,不需要部署工作,簡化了煩瑣的xml文件配置,可自動配置Spring,簡化Maven的配置。