Spring Boot與Spring Cloud是什麼關係?
前言
SpringBoot先於Spring Cloud問世。 SpringBoot相當於腳手架,藉助他可以快速搭建房子,它本身不具備任何功能屬性,值是普通房間,沒有其他任何功能。
什麼是Spring Boot
Spring Boot簡化了基於Spring的應用開發,通過少量的程式碼就能建立一個獨立的、產品級別的Spring應用。 Spring Boot為Spring平臺及第三方庫提供開箱即用的設定,這樣你就可以有條不紊地開始。多數Spring Boot應用只需要很少的Spring配置。
Spring Boot是由Pivotal團隊提供的全新框架,其設計目的是用來簡化新Spring應用的初始搭建以及開發過程。該框架使用了特定的方式來進行配置,從而使開發人員不再需要定義樣板化的配置。用我的話來理解,就是Spring Boot其實不是什麼新的框架,它預設配置了很多框架的使用方式,就像maven整合了所有的jar包,Spring Boot整合了所有的框架(不知道這樣比喻是否合適)。
Spring Boot的核心思想就是約定大於配置,一切自動完成。採用Spring Boot可以大大的簡化你的開發模式,所有你想整合的常用框架,它都有對應的元件支援。
什麼是Spring Cloud
Spring Cloud是一系列框架的有序集合。它利用Spring Boot的開發便利性巧妙地簡化了分散式系統基礎設施的開發,如服務發現註冊、配置中心、訊息匯流排、負載均衡、斷路器、資料監控等,都可以用Spring Boot的開發風格做到一鍵啟動和部署。Spring並沒有重複製造輪子,它只是將目前各家公司開發的比較成熟、經得起實際考驗的服務框架組合起來,通過Spring Boot風格進行再封裝遮蔽掉了複雜的配置和實現原理,最終給開發者留出了一套簡單易懂、易部署和易維護的分散式系統開發工具包。
微服務是可以獨立部署、水平擴充套件、獨立訪問(或者有獨立的資料庫)的服務單元,Spring Cloud就是這些微服務的大管家,採用了微服務這種架構之後,專案的數量會非常多,Spring Cloud做為大管家就需要提供各種方案來維護整個生態。Spring Cloud就是一套分散式服務治理的框架,既然它是一套服務治理的框架,那麼它本身不會提供具體功能性的操作,更專注於服務之間的通訊、熔斷、監控等。因此就需要很多的元件來支援一套功能。
Spring Boot和Spring Cloud的關係
Spring Boot 是 Spring 的一套快速配置腳手架,可以基於Spring Boot 快速開發單個微服務,Spring Cloud是一個基於Spring Boot實現的雲應用開發工具;Spring Boot專注於快速、方便整合的單個微服務個體,Spring Cloud關注全域性的服務治理框架;Spring Boot使用了預設大於配置的理念,很多整合方案已經幫你選擇好了,能不配置就不配置,Spring Cloud很大的一部分是基於Spring Boot來實現,可以不基於Spring Boot嗎?不可以。 Spring Boot可以離開Spring Cloud獨立使用開發專案,但是Spring Cloud離不開Spring Boot,屬於依賴的關係。
總結
SpringBoot在Spring Cloud中起到了承上啟下的作用,如果你要學習SpringCloud必須要學習SpringBoot。 作者:kekesam 連結:https://www.imooc.com/article/24920 來源:慕課網