【微服務(wù)系列】Spring SpringMVC SpringBoot SpringCloud概念瘫想、關(guān)系及區(qū)別

大綱

image.png

一粗蔚、發(fā)展歷史

Spring主要是基于IOC反轉(zhuǎn)Beans管理Bean類,主要依存于SSH框架(Struts+Spring+Hibernate)這個(gè)MVC框架便斥,所以定位很明確至壤,Struts主要負(fù)責(zé)表示層的顯示,Spring利用它的IOC和AOP來(lái)處理控制業(yè)務(wù)(負(fù)責(zé)對(duì)數(shù)據(jù)庫(kù)的操作)枢纠,Hibernate主要作用是數(shù)據(jù)的持久化到數(shù)據(jù)庫(kù)像街。

SpringMVC是基于Spring的一個(gè)MVC框架,用以替代初期的SSH框架;(spring Framework本身沒有Web功能晋渺,Spring MVC使用WebApplicationContext類擴(kuò)展ApplicationContext镰绎,使得擁有web功能)。

Spring Boot是基于Spring4的條件注冊(cè)的一套快速開發(fā)整合包木西。

三者的發(fā)展與聯(lián)系:

Spring 最初利用“工廠模式”( DI )和“代理模式”( AOP )解耦應(yīng)用組件畴栖。大家覺得挺好用,于是按照這種模式搞了一個(gè) MVC 框架(一些用 Spring 解耦的組件)户魏,用開發(fā) web 應(yīng)用( SpringMVC )。然后有發(fā)現(xiàn)每次開發(fā)都要搞很多依賴挪挤,寫很多樣板代碼很麻煩叼丑,于是搞了一些懶人整合包( starter ),這套就是 Spring Boot 扛门。

spring cloud大部分的功能插件都是基于springBoot去實(shí)現(xiàn)的鸠信,springCloud關(guān)注于全局的微服務(wù)整合和管理,將多個(gè)springBoot單體微服務(wù)進(jìn)行整合以及管理论寨; springCloud依賴于springBoot開發(fā)星立,而springBoot可以獨(dú)立開發(fā)。

二葬凳、概念解讀

1.什么是Spring

一個(gè)輕量級(jí)的控制反轉(zhuǎn)(IoC)和面向切面(AOP)的容器

2.什么是SpringMVC

spring與mvc可以更好地解釋什么是springMvc绰垂,MVC為現(xiàn)代web項(xiàng)目開發(fā)的一種很常見的模式,簡(jiǎn)言之C(控制器)將V(視圖火焰、用戶客戶端)與M(模塊劲装,業(yè)務(wù))分開構(gòu)成了MVC ,業(yè)內(nèi)常見的mvc模式的開發(fā)框架有Struts1,Struts2等占业。spring作為專業(yè)的開發(fā)web項(xiàng)目的開源框架绒怨,springMvc為內(nèi)部的一個(gè)模塊環(huán)節(jié),同樣采取mvc設(shè)計(jì)模式谦疾。

3.什么是SpringBoot

Spring boot 是 Spring 的一套快速配置腳手架南蹂,可以基于spring boot 快速開發(fā)單個(gè)微服務(wù),特點(diǎn):簡(jiǎn)單易用念恍,初學(xué)者和大牛都可以輕松上手六剥,其中的注解會(huì)給使用者提供方便;Spring boot對(duì)第三方技術(shù)進(jìn)行了很好的封裝和整合樊诺,提供了大量第三方接口仗考;可以通過依賴自動(dòng)配置,不需要XML等配置文件词爬。

4.什么是SpringCloud

spring-colud是一種云端分布式架構(gòu)解決方案秃嗜,基于spring boot,在spring boot做較少的配置,便可成為 spring cloud 中的一個(gè)微服務(wù)顿膨。

三锅锨、深入解讀Spring Boot與Spring Cloud的概念與關(guān)系

1.什么是Spring Boot

Spring Booti簡(jiǎn)化了基于 Spring的應(yīng)用開發(fā),通過少量的代碼就能創(chuàng)建一個(gè)獨(dú)立的、產(chǎn)品級(jí)別的 Spring應(yīng)用恋沃。 Spring Boot為 Spring平臺(tái)及第三方庫(kù)提供開箱即用的設(shè)置,這樣你就可以有條不素地開始必搞。多數(shù) SpringBoot應(yīng)用只需要很少的 Spring配置。

Spring Boot是由 Pivotal團(tuán)隊(duì)提供的全新框架,其設(shè)計(jì)目的是用來(lái)簡(jiǎn)化新 Spring應(yīng)用的初始搭建以及開發(fā)過程囊咏。該框架使用了特定的方式來(lái)進(jìn)行配置,從而使開發(fā)人員不再需要定義樣板化的配置恕洲。

用我的話來(lái)理解,就是Spring Boot其實(shí)不是什么新的框架,它默認(rèn)配置了很多框架的使用方式,就像 maven整合了所有的jar包,Spring Boot整合了所有的框架梅割。

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

2.什么是Spring Cloud

Spring Cloud是一系列框架的有序集合户辞。它利用 Spring Boot的開發(fā)便利性巧妙地簡(jiǎn)化了分布式系統(tǒng)基礎(chǔ)設(shè)施的開發(fā),如服務(wù)發(fā)現(xiàn)注冊(cè)泌类、配置中心、消息總線線底燎、負(fù)載均衠刃榨、斷路器、數(shù)據(jù)監(jiān)控等,都可以用 Spring Boot的開發(fā)風(fēng)格做到一鍵啟動(dòng)和部署双仍。

Spring并沒有重復(fù)制造輪子,它只是將目前各家公司開發(fā)的比較成熟枢希、經(jīng)得起實(shí)際考驗(yàn)的服務(wù)框架組臺(tái)起來(lái),通過 Spring Boot風(fēng)格進(jìn)行再封裝屏蔽掉了復(fù)雜的配置和實(shí)現(xiàn)原理,最終給開發(fā)者留出了一套簡(jiǎn)單易懂、易部署和易維護(hù)的分布式系統(tǒng)開發(fā)工具包朱沃。

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

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

3.Spring Boot和Spring Cloud的關(guān)系

Spring Boot是 Spring的一套快速配置腳手架,可以基于 Spring Boot快速開發(fā)單個(gè)微服務(wù), SpringCloud是一個(gè)基于 Spring Boot實(shí)現(xiàn)的云應(yīng)用開發(fā)工具;

Spring Boot專注于快速尔当、方便集成的單個(gè)微服務(wù)個(gè)體,Spring Cloud關(guān)注全局的服務(wù)治理框架;

Spring Boot使用了默認(rèn)大于配置的理念,很多集成方案已經(jīng)幫你選擇好了,能不配置就不配置, Spring Cloud很大的一部分是基于 Spring Boot來(lái)實(shí)現(xiàn),可以不基于 Spring Boot嗎?不可以蹂安。 Spring Boot可以離開 Spring Cloud獨(dú)立使用開發(fā)項(xiàng)目,但是 Spring Cloud離不開 Spring Boot,屬于依賴的關(guān)系

Spring> Spring Boot> Spring Cloud這樣的關(guān)系椭迎。

四、Spring Cloud架構(gòu)

我們從整體來(lái)看一下 Spring Cloud主要的組件,以及它的訪間流程
1田盈、外部或者內(nèi)部的非 Spring Cloud項(xiàng)目都統(tǒng)一通過API網(wǎng)關(guān)(Zuul)來(lái)訪可內(nèi)部服務(wù).
2畜号、網(wǎng)關(guān)接收到請(qǐng)求后,從注冊(cè)中心( Eureka)獲取可用服務(wù)
3、由 Ribbon進(jìn)行均負(fù)載后,分發(fā)到后端的具體實(shí)例
4允瞧、徹服務(wù)之間通過 Feign進(jìn)行通信處理業(yè)務(wù)
5简软、 Hystrix負(fù)責(zé)處理服務(wù)超時(shí)熔斷
6、 Turbine監(jiān)控服務(wù)間的調(diào)用和焠斷相關(guān)指標(biāo)

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末述暂,一起剝皮案震驚了整個(gè)濱河市痹升,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌畦韭,老刑警劉巖疼蛾,帶你破解...
    沈念sama閱讀 219,427評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異艺配,居然都是意外死亡察郁,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,551評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門转唉,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)皮钠,“玉大人,你說我怎么就攤上這事酝掩×圮剑” “怎么了眷柔?”我有些...
    開封第一講書人閱讀 165,747評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵期虾,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我驯嘱,道長(zhǎng)镶苞,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,939評(píng)論 1 295
  • 正文 為了忘掉前任鞠评,我火速辦了婚禮茂蚓,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己聋涨,他們只是感情好晾浴,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,955評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著牍白,像睡著了一般脊凰。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上茂腥,一...
    開封第一講書人閱讀 51,737評(píng)論 1 305
  • 那天狸涌,我揣著相機(jī)與錄音,去河邊找鬼最岗。 笑死帕胆,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的般渡。 我是一名探鬼主播懒豹,決...
    沈念sama閱讀 40,448評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼诊杆!你這毒婦竟也來(lái)了歼捐?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,352評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤晨汹,失蹤者是張志新(化名)和其女友劉穎豹储,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體淘这,經(jīng)...
    沈念sama閱讀 45,834評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡剥扣,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,992評(píng)論 3 338
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了铝穷。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片钠怯。...
    茶點(diǎn)故事閱讀 40,133評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖曙聂,靈堂內(nèi)的尸體忽然破棺而出晦炊,到底是詐尸還是另有隱情,我是刑警寧澤宁脊,帶...
    沈念sama閱讀 35,815評(píng)論 5 346
  • 正文 年R本政府宣布断国,位于F島的核電站,受9級(jí)特大地震影響榆苞,放射性物質(zhì)發(fā)生泄漏稳衬。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,477評(píng)論 3 331
  • 文/蒙蒙 一坐漏、第九天 我趴在偏房一處隱蔽的房頂上張望薄疚。 院中可真熱鬧碧信,春花似錦、人聲如沸街夭。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,022評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)板丽。三九已至衣式,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間檐什,已是汗流浹背碴卧。 一陣腳步聲響...
    開封第一講書人閱讀 33,147評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留乃正,地道東北人住册。 一個(gè)月前我還...
    沈念sama閱讀 48,398評(píng)論 3 373
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像瓮具,于是被迫代替她去往敵國(guó)和親荧飞。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,077評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容