springBoot 是 spring 團隊伴隨着 spring4.0 一同發布的框架,已然成為該團隊的一個非常重要的項目。其作用是幫助我們簡單迅速地創建一個獨立的產品級別的基於 spring 的應用
為什么要使用SpringBoot?
J2EE 笨重的開發、繁多的配置、低下的開發效率、復雜的部署流程、第三方技術集成難度大,都成為了阻礙開發者效率的難關。Spring Boot 的任務就是用來簡化Spring應用開發,約定大於配置,去繁從簡,just run 就能創建一個獨立的,產品級別的應用。SpringBoot 通過整合整個 spring 系列的技術棧,從而簡化了企業級開發。SpirngBoot 幫助我們自動配置好 spring 的相關環境,用戶只需從一個微小的入口就能打開整個企業級開發的大門
SpringBoot 的優點
- 快速創建獨立運行的 Spring 項目以及與主流框架集成
- 使用嵌入式的 Servlet 容器,應用無需打成 WAR 包
- starters 自動依賴與版本控制
- 大量的自動配置,簡化開發,也可修改默認值
- 無需配置 XML,無代碼生成,開箱即用
- 准生產環境的運行時應用監控
- 與雲計算的天然集成
總結
SpringBoot 是簡化 Spring 應用開發的一個框架;是整個 Spring 技術棧的一個大整合;是 J2EE 開發的一站式解決方案;
微服務
這里首先介紹一下單體應用的概念。單體應用將所有的代碼等統統寫在一個應用里邊,最后再部署到服務器上,從而運行應用,這就是所謂的 ALL IN ONE。這是傳統的 WEB 應用架構模式,但這種模式會帶來牽一發而動全身的問題,一旦某一部分出現修改,則整個應用都必須重新部署運行。而且面對日益增長的需求,我們越來越不可能將一個龐大的應用 ALL IN ONE 全部寫在里邊。
什么是微服務?微服務是一種架構風格,提倡一個應用應該是一組小型服務的組合,每一個服務運行在自己的進程內,每一個服務可以通過HTTP的方式進行互通。如果需要通過跨服務器分發單個服務進行擴展,只需要復制單個服務就行了,不需要復制整個項目,從而使每一個服務都是獨立的、可替換的軟件單元。
微服務的最終實現目標
最終的理想微服務架構應該是每個軟件單元都能獨立出來,每個單元對應不同的業務邏輯。單元與單元之間通過 HTTP 完成互調,最終通過不斷地微化,形成一個緊密的應用網。不過如此龐大的一個分布式應用所帶來的開發難度也是巨大的。
如何快速構建微服務
使用 SpringBoot 可以幫助我們快速完成一個微服務應用。使用 SpringCloud 可以幫助我們完成大型關系網之間的互調。包括一些流數據的計算與批處理我們可以使用 Spring Cloud Date Flow 來處理。可以說 spring 官方為我們想清楚了構建微服務的整個思路。