微服務架構盛行的時代,你需要了解點 Spring Boot

程式設計師私房菜發表於2018-10-24


微服務架構盛行的時代,你需要了解點 Spring Boot




閱讀本文大概需要4分鐘


隨著網際網路的高速發展,龐大的使用者群體和快速的需求變化已經成為了傳統架構的痛點。

在這種情況下,如何從系統架構的角度出發,構建出靈活、易擴充套件的系統來快速響應需求的變化,同時,隨著使用者量的增加,如何保證系統的穩定性、高可用性、可伸縮性等等,成為了系統架構面臨的挑戰。

為了解決這些問題,微服務架構應運而生,它的本質在於分散式、去中心化。

微服務架構是一種架構模式或者說一種架構風格,它提倡將傳統的一站式應用(左下圖)根據業務拆分成一個個服務(右下圖),徹底去掉耦合,每個服務提供單個業務功能,一個服務只做一件事,執行在其獨立的程式中。


微服務架構盛行的時代,你需要了解點 Spring Boot



每個服務之間互相協調、互相配合,為使用者提供最終的價值。服務之間採用輕量級的通訊機制(通常是基於 http 的 RESTful API)。

每個服務都圍繞著具體業務進行構建,並且能夠被獨立地部署到生產環境、類生產環境等。不同的服務也可以使用不同的資料庫和資料儲存。


微服務架構盛行的時代,你需要了解點 Spring Boot


另外,應儘量避免統一的、集中式的服務管理機制,對具體的一個服務而言,應根據業務上下文,選擇合適的語言、工具對其進行構建,可以有一個非常輕量級的集中式管理來協調這些服務,可以使用不同的語言來開發這些服務。

Spring Boot 誕生時,微服務概念正處於醞釀階段,Spring Boot 的研發融合了微服務架構的理念,是 Java 領域微服務架構最優落地的技術,給微服務架構提供了技術支撐。Spring Boot 有哪些優勢呢?


微服務架構盛行的時代,你需要了解點 Spring Boot


  • 良好的基因:Spring Boot 是伴隨著 Spring 4.0 誕生的,繼承了 Spring 框架的優秀基因。

  • 簡化編碼:傳統的 Spring web 專案需要引入一堆相關的依賴,而在 Spring Boot 中,我們只需要引入一個  starter-web 依賴即可快速建立 web 應用。

  • 簡化配置:傳統的 Spring 專案一度被人認為是“配置地獄”,而 Spring Boot 更多的是採用 Java Config 的方式,簡化了配置的繁瑣。

  • 簡化部署:Spring Boot 專案不需要在伺服器上去部署 tomcat,因為 Spring Boot 內嵌了 tomcat,我們只需要將專案打成 jar 包,透過命令一鍵式啟動。

  • 簡化監控:可以引入 spring-boot-start-actuator 依賴,直接使用 REST 方式來獲取程式的執行期效能引數,從而達到監控的目的,還可以配合 Spring Cloud 一起使用。

微服務是未來發展的趨勢,使用 Spring Boot 開發專案,會顛覆傳統的開發模式,大大提升開發效率,可以說如果你使用 Spring Boot 開發過專案,你就不願意再回到原來的開發方式了。

看看 Spring 官方對 Spring Boot 的定位:Build Anything,Build 任何東西。

微服務架構盛行的時代,你需要了解點 Spring Boot

Spring Boot 旨在儘可能快地啟動和執行,並且只需最少的 Spring 前期配置。 同時我們也來看一下官方對後面兩個的定位:

  • SpringCloud:Coordinate Anything,協調任何事情; 

  • SpringCloud Data Flow:Connect everything,連線任何東西。

仔細品味一下, Spring 官網對 Spring Boot、SpringCloud 和 SpringCloud Data Flow 三者定位的措辭非常有味道,同時也可以看出,官方對這三個技術非常重視,我們還有什麼理由不去學習呢? 在微服務盛行的今天,你真的需要了解點 Spring Boot,我對 Spring Boot 也稍有些研究,如果你有興趣,掃描下方二維碼關注公眾號,回覆”微服務“,我們一起研究。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31558358/viewspace-2217363/,如需轉載,請註明出處,否則將追究法律責任。

相關文章