一、什麼是SpringBoot
是一個基於Spring框架的快速開發應用程式的工具,設計目的是為了簡化Spring應用的建立、執行、除錯、部署等開發過程,使開發人員能夠更快地建立獨立的、生產就緒的Spring應用程式。
採用了“約定優於配置”的原則,透過大量的預設配置來減少開發人員需要手動配置的步驟,從而簡化了Spring框架中所需的大量且繁瑣的配置檔案。還整合了大量常用的第三方庫配置,使得這些庫在Spring Boot應用中幾乎可以零配置開箱即用,開發人員只需關注業務配置,無需過多關注底層配置。
SpringBoot包含了諸如嵌入式Web伺服器、自動配置、命令列介面等開箱即用的特性,使得開發人員能夠更加容器地開發和部署應用程式,並且可以與其他Spring框架的元件進行無縫整合。
此外,SpringBoot應用可以獨立執行,使用Jar包的形式即可啟動,無需複雜的部署過程。總的來說,SpringBoot為Spring應用程式的開發提供了更加簡單、快速、靈活的方式,使開發人員能夠更專注於業務邏輯的開發,提高開發效率。
二、什麼是微服務
微服務是一種架構風格,要求我們在開發一個應用的時候,這個應用必須構建成一系列小服務的組合;可以透過http的方式進行互通。
單體應用架構(all in one)是指,我們將一個應用中的所有應用服務都封裝在一個應用中。無論是ERP、CRM或是其他什麼系統,你都把資料庫訪問,web訪問,等等各個功能放到一個war包內。
這樣做的好處是易於開發和測試;也十分方便部署;當需要擴充套件時,只需要將war複製多份,然後放到多個伺服器上,再做個負載均衡就可以了。
單體應用架構的缺點是,哪怕我要修改一個非常小的地方,我都需要停掉整個服務,重新打包、部署這個應用war包。特別是對於一個大型應用,我們不可能把所有內容都放在一個應用裡面,我們如何維護、如何分工合作都是問題。
all in one的架構方式,我們把所有的功能單元放在一個應用裡面。然後我們把整個應用部署到伺服器上。如果負載能力不行,我們將整個應用進行水平復制,進行擴充套件,然後再負載均衡。
所謂微服務架構,就是打破之前all in one的架構方式,把每個功能元素獨立出來。把獨立出來的功能元素的動態組合(活字印刷術),需要的功能元素才去拿來組合,需要多一些時可以整合多個功能元素。所以微服務架構是對功能元素進行復制,而沒有對整個應用進行復制。
這樣做的好處是:
1、節省了呼叫資源。
2、每個功能元素的服務都是一個可替換的、可獨立升級的軟體程式碼。
— 養成終生學習的習慣,與時俱進。 —