Spring->SpringBoot>SpringCloud

Spring -> Spring Boot > Spring Cloud

這幾天剛剛上班,公司用的是Spring Cloud,接觸不多。我得趕快學起來。

成都創(chuàng)新互聯(lián)專注于網(wǎng)站建設(shè)|成都網(wǎng)站維護公司|優(yōu)化|托管以及網(wǎng)絡(luò)推廣,積累了大量的網(wǎng)站設(shè)計與制作經(jīng)驗,為許多企業(yè)提供了網(wǎng)站定制設(shè)計服務(wù),案例作品覆蓋社區(qū)文化墻等行業(yè)。能根據(jù)企業(yè)所處的行業(yè)與銷售的產(chǎn)品,結(jié)合品牌形象的塑造,量身設(shè)計品質(zhì)網(wǎng)站。

想學習就必須得知道什么是微服務(wù),什么是Spring Boot,什么是Spring Cloud,以及兩者之間有什么關(guān)系?

什么是微服務(wù)?

簡而言之,微服務(wù)架構(gòu)風格是一種將單個應用程序作為一套小型服務(wù)開發(fā)的方法,每種應用程序都在自己的進程中運行,并與輕量級機制(通常是HTTP資源API)進行通信。 這些服務(wù)是圍繞業(yè)務(wù)功能構(gòu)建的,可以通過全自動部署機制獨立部署。 這些服務(wù)的集中管理最少,可以用不同的編程語言編寫,并使用不同的數(shù)據(jù)存儲技術(shù)。系統(tǒng)中的各個微服務(wù)可被獨立部署,各個微服務(wù)之間是松耦合的。每個微服務(wù)僅關(guān)注于完成一件任務(wù)并很好地完成該任務(wù)。在所有情況下,每個任務(wù)代表著一個小的業(yè)務(wù)能力。

微服務(wù)的一些常見誤解

在同一范疇內(nèi)比較才有意義:

微服務(wù)架構(gòu) vs. SOA – 兩者都是架構(gòu)風格范疇,但其關(guān)注領(lǐng)域與涉及范圍不同。SOA更關(guān)注企業(yè)規(guī)模范圍,微服務(wù)架構(gòu)則更關(guān)注應用規(guī)模范圍。

微服務(wù)組件 vs. 服務(wù)組件 – 兩者都是描述業(yè)務(wù)功能的具體實現(xiàn),其區(qū)別在于粒度不同,此外還有在可管理性、靈活性上的差異。

概念混淆的不恰當比較

微服務(wù) vs. SOA – 不恰當?shù)谋容^。微服務(wù)是組件范疇,而SOA是一種架構(gòu)設(shè)計風格。因此應該比較的是微服務(wù)架構(gòu)與SOA。

微服務(wù) vs. API – 不恰當?shù)谋容^。 API是接口,是業(yè)務(wù)功能暴露的一種機制。微服務(wù)架構(gòu)是用于實施業(yè)務(wù)功能的組件架構(gòu)。因此直接比較它們是沒有意義的。

微服務(wù) vs. 服務(wù)– 不恰當?shù)谋容^。“服務(wù)”在不同的場景下有不同的含義,需要進一步澄清其描述的語境,是指服務(wù)實施、服務(wù)暴露、服務(wù)定義還是其他?微服務(wù)亦是如此,需要有特定語境才可判斷比較是否有意義。

什么是Spring Boot?

首先得知道一點,Spring Boot 不是為了取代 Spring ,Spring Boot 基于 Spring 開發(fā),是為了讓人們更容易的使用 Spring。

Spring Boot簡化了基于Spring的應用開發(fā),通過少量的代碼就能創(chuàng)建一個獨立的、產(chǎn)品級別的Spring應用。 Spring Boot為Spring平臺及第三方庫提供開箱即用的設(shè)置,這樣你就可以有條不紊地開始。多數(shù)Spring Boot應用只需要很少的Spring配置。

Spring Boot是由Pivotal團隊提供的全新框架,其設(shè)計目的是用來簡化新Spring應用的初始搭建以及開發(fā)過程。該框架使用了特定的方式來進行配置,從而使開發(fā)人員不再需要定義樣板化的配置。用我的話來理解,就是Spring Boot其實不是什么新的框架,它默認配置了很多框架的使用方式,就像maven整合了所有的jar包,Spring Boot整合了所有的框架(不知道這樣比喻是否合適)。

Spring Boot的核心思想就是約定大于配置,一切自動完成。采用Spring Boot可以大大的簡化你的開發(fā)模式,所有你想集成的常用框架,它都有對應的組件支持;

什么是Spring Cloud

Spring Cloud是一系列框架的有序集合。它利用Spring Boot的開發(fā)便利性巧妙地簡化了分布式系統(tǒng)基礎(chǔ)設(shè)施的開發(fā),如服務(wù)發(fā)現(xiàn)注冊、配置中心、消息總線、負載均衡、斷路器、數(shù)據(jù)監(jiān)控等,都可以用Spring Boot的開發(fā)風格做到一鍵啟動和部署。Spring并沒有重復制造輪子,它只是將目前各家公司開發(fā)的比較成熟、經(jīng)得起實際考驗的服務(wù)框架組合起來,通過Spring Boot風格進行再封裝屏蔽掉了復雜的配置和實現(xiàn)原理,最終給開發(fā)者留出了一套簡單易懂、易部署和易維護的分布式系統(tǒng)開發(fā)工具包。

微服務(wù)是可以獨立部署、水平擴展、獨立訪問(或者有獨立的數(shù)據(jù)庫)的服務(wù)單元,Spring Cloud就是這些微服務(wù)的大管家,采用了微服務(wù)這種架構(gòu)之后,項目的數(shù)量會非常多,Spring Cloud做為大管家就需要提供各種方案來維護整個生態(tài)。

Spring Cloud就是一套分布式服務(wù)治理的框架,既然它是一套服務(wù)治理的框架,那么它本身不會提供具體功能性的操作,更專注于服務(wù)之間的通訊、熔斷、監(jiān)控等。因此就需要很多的組件來支持一套功能

Spring Boot和Spring Cloud的關(guān)系
Spring Boot 是 Spring 的一套快速配置腳手架,可以基于Spring Boot 快速開發(fā)單個微服務(wù),Spring Cloud是一個基于Spring Boot實現(xiàn)的云應用開發(fā)工具;Spring Boot專注于快速、方便集成的單個微服務(wù)個體,Spring Cloud關(guān)注全局的服務(wù)治理框架;Spring Boot使用了默認大于配置的理念,很多集成方案已經(jīng)幫你選擇好了,能不配置就不配置,Spring Cloud很大的一部分是基于Spring Boot來實現(xiàn),可以不基于Spring Boot嗎?不可以。

Spring Boot可以離開Spring Cloud獨立使用開發(fā)項目,但是Spring Cloud離不開Spring Boot,屬于依賴的關(guān)系。

Spring -> Spring Boot > Spring Cloud

歡迎大家關(guān)注公眾號,不定時干貨,只做有價值的輸出

作者:Dawnzhang
出處:https://www.cnblogs.com/clwydjgs/
版權(quán):本文版權(quán)歸作者
轉(zhuǎn)載:歡迎轉(zhuǎn)載,但未經(jīng)作者同意,必須保留此段聲明;必須在文章中給出原文連接;否則必究法律責任

分享文章:Spring->SpringBoot>SpringCloud
地址分享:http://bm7419.com/article8/jccpop.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供外貿(mào)網(wǎng)站建設(shè)、手機網(wǎng)站建設(shè)服務(wù)器托管、外貿(mào)建站、自適應網(wǎng)站、移動網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站托管運營