Spring Boot與Spring Cloud是什麼關係?

本文轉自:https://zhuanlan.zhihu.com/p/38566684



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 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 Clound中起到了承上啓下的作用,如果你要學習SpringCloud必須要學習SpringBoot。



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章