最近2年spring cloud微服務比較流行,Spring Cloud基於SpringBoot,爲微服務體系開發中的架構問題提供了一整套的解決方案, 本文總結一下爲何要使用Spring boot,以及spring boot的特性和優缺點 ,以及spring boot與spring cloud關係。java
1.爲何要在項目中使用那個spring boot?
spring boot 是一個快速開發框架,可以幫助咱們快速整合第三方框架(maven依賴關係,maven依賴繼承),徹底採用註解化,內嵌Http服務器(tomcat,jetty,undertow),默認內置tomcat服務器,最終以java應用程序進行執行。
spring boot項目中沒有web.xmlweb
2. springboot特性
- 獨立運行spring項目。springboot能夠以jar包的形式進行獨立運行,使用java -jar xx.jar 就能夠成功運行項目;
- 內嵌servlet容器。內嵌容器,使得咱們能夠執行運行項目的主程序main函數快速運行;
- 提供starter簡化Maven配置。springboot提供了一系列的start pol用來簡化maven依賴。如:經常使用的spring-boot-starter-web、spring-boot-starter-tomcat、spring-boot-starter-actuator等;
- 自動配置spring。springboot會根據咱們項目中類路徑的jar包,爲jar包的類進行自動裝配Bean;
- 應用監控。springboot提供了基於HTTP、ssh、telnet對運行時的項目進行監控。
springboot提供了actuator組件,只須要在配置中加入spring-boot-starter-actuator依賴,經過繼承AbstractHealthIndicator這個抽象類,而後在doHealthCheck()方法中檢測服務健康的方法,就能夠實現一個簡單的監控.
3.springboot的缺點
- 高度集成,使用的時候不知道底層實現;
- 因爲不瞭解底層,致使項目出了問題會很難排查.
4.spring boot 與spring cloud關係
spring boot是一個快速開放框架,可以幫助咱們快速整合第三方開源框架,徹底採用註解化,簡化xml配置,最終以java應用程序的方式執行。
spring cloud是一套完整的微服務框架,功能強大。提供了註冊中心,客戶端調用工具, 服務治理(負載均衡,斷路器,分佈式配置中心,網關 ,服務鏈路,消息總線)spring