spring 、springFramework 付枫、springcloud烹玉、springboot區(qū)別聯(lián)系

<meta charset="utf-8">

Spring

Spring是一個(gè)生態(tài)體系(也可以說(shuō)是技術(shù)體系),是集大成者阐滩,它包含了Spring Framework二打、Spring Boot、Spring Cloud等(還包括Spring Cloud data flow掂榔、spring data继效、spring integration、spring batch装获、spring security瑞信、spring hateoas),可以參考鏈接:https://spring.io/projects穴豫,如下圖所示(部分截圖):

image

About spring

Spring Framework

Spring Framework是整個(gè)spring生態(tài)的基石凡简,它可是硬生生的消滅了Java官方主推的企業(yè)級(jí)開(kāi)發(fā)標(biāo)準(zhǔn)EJB,從而實(shí)現(xiàn)一統(tǒng)天下精肃。Spring官方對(duì)Spring Framework簡(jiǎn)短描述:為依賴注入秤涩、事務(wù)管理、WEB應(yīng)用司抱、數(shù)據(jù)訪問(wèn)等提供了核心的支持溉仑。Spring Framework專(zhuān)注于企業(yè)級(jí)應(yīng)用程序的“管道”,以便開(kāi)發(fā)團(tuán)隊(duì)可以專(zhuān)注于應(yīng)用程序的業(yè)務(wù)邏輯状植。

筆者要提醒的是浊竟,千萬(wàn)不要把Spring和Spring Framework搞混淆了,很多文章都錯(cuò)誤的定義了spring:spring是一個(gè)一站式的輕量級(jí)的java開(kāi)發(fā)框架津畸,核心是控制反轉(zhuǎn)(IoC)和面向切面(AOP)振定,針對(duì)于開(kāi)發(fā)的WEB層(springMVC)、業(yè)務(wù)層(IoC)肉拓、持久層(jdbcTemplate)等都提供了多種配置解決方案后频。這是Spring Framework的定義,至于Spring暖途,是整個(gè)生態(tài)卑惜。

但是,無(wú)論Spring Framework接口如何簡(jiǎn)化驻售,設(shè)計(jì)如何優(yōu)美露久,始終無(wú)法擺脫被動(dòng)的境況:由于它自身并非容器,所以基本上不得不隨JavaEE容器啟動(dòng)而裝載欺栗,例如Tomcat毫痕、Jetty征峦、JBoss等。然而Spring Boot的出現(xiàn)消请,改變了Spring Framework甚至整個(gè)Spring技術(shù)體系的現(xiàn)狀(摘自小馬哥的《SpringBoot編程思想》)栏笆。

Spring Boot

Spring Boot這家伙簡(jiǎn)直就是對(duì)Java企業(yè)級(jí)應(yīng)用開(kāi)發(fā)進(jìn)行了一場(chǎng)浩浩蕩蕩的革命。如果稍微有幾年工作經(jīng)驗(yàn)的老油條臊泰,應(yīng)該都記得以前的Java Web開(kāi)發(fā)模式:Tomcat + WAR包蛉加。WEB項(xiàng)目基于spring framework,項(xiàng)目目錄一定要是標(biāo)準(zhǔn)的WEB-INF + classes + lib缸逃,而且大量的xml配置七婴。如果說(shuō),以前搭建一個(gè)SSH架構(gòu)的Web項(xiàng)目需要1個(gè)小時(shí)察滑,那么現(xiàn)在應(yīng)該10分鐘就可以了。

Spring Boot能夠讓你非常容易的創(chuàng)建一個(gè)單機(jī)版本修肠、生產(chǎn)級(jí)別的基于spring framework的應(yīng)用贺辰。然后,"just run"即可嵌施。Spring Boot默認(rèn)集成了很多第三方包饲化,以便你能以最小的代價(jià)開(kāi)始一個(gè)項(xiàng)目。

我們看看官方對(duì)Spring Boot的定義:

Spring Boot is designed to get you up and running as quickly as possible, with minimal upfront configuration of Spring. Spring Boot takes an opinionated view of building production-ready applications.

即Spring Boot為快速啟動(dòng)且最小化配置的spring應(yīng)用而設(shè)計(jì)吗伤,并且它具有用于構(gòu)建生產(chǎn)級(jí)別應(yīng)用的一套固化的視圖(摘自小馬哥的《SpringBoot編程思想》)吃靠。這里的固化的視圖,筆者認(rèn)為可以理解成Spring Boot的約定足淆,因?yàn)镾pring Boot的設(shè)計(jì)是約定大于實(shí)現(xiàn)的巢块。

Spring Cloud

最后就是大名鼎鼎的Spring Cloud了,Spring Cloud事實(shí)上是一整套基于Spring Boot的微服務(wù)解決方案巧号。它為開(kāi)發(fā)者提供了很多工具族奢,用于快速構(gòu)建分布式系統(tǒng)的一些通用模式,例如:配置管理丹鸿、注冊(cè)中心越走、服務(wù)發(fā)現(xiàn)、限流靠欢、網(wǎng)關(guān)廊敌、鏈路追蹤等。

如下圖所示门怪,很好的說(shuō)明了Spring Boot和Spring Cloud的關(guān)系骡澈,Spring Boot是build anything,而Spring Cloud是coordinate anything掷空,Spring Cloud的每一個(gè)微服務(wù)解決方案都是基于Spring Boot構(gòu)建的:

image

spring.io

如下圖所示秧廉,是spring主頁(yè)介紹Spring Cloud的配圖伞广,我們可以看到,分布式微服務(wù)每一個(gè)環(huán)節(jié)疼电,Spring Cloud都提供了對(duì)應(yīng)的組件支持:

image

Spring Cloud

說(shuō)明:Spring Cloud的組件非常多嚼锄,完整的組件可以參考鏈接:https://spring.io/projects/spring-cloud

總結(jié)

筆者參與的項(xiàng)目也是基于Spring Cloud體系搭建的微服務(wù)蔽豺。筆者認(rèn)為Spring Cloud的名氣要大于它的作用区丑,可能這句話會(huì)帶來(lái)不少爭(zhēng)議。Spring Cloud本身沒(méi)有問(wèn)題修陡,有問(wèn)題的是它的適配方案沧侥。你俯瞰一下Spring Cloud的整個(gè)微服務(wù)生態(tài),你會(huì)發(fā)現(xiàn)真的不可替代的組件又有幾個(gè)魄鸦?甚至它的一些組件宴杀,筆者壓根不會(huì)考慮將它引入項(xiàng)目中,比如:

Spring Cloud Sleuth:它是鏈路追蹤解決方案拾因,很明顯旺罢,我只會(huì)考慮Skywalking、Pinpoint绢记、CAT扁达。

Spring Cloud Config:它是一個(gè)配置中心解決方案,無(wú)論是攜程的apollo蠢熄、還是百度的disconf跪解,都遠(yuǎn)比它強(qiáng)大好用的多。

另外签孔,Spring Cloud netflix的核心組件hystrix已經(jīng)停更叉讥,你可否還記得dubbo當(dāng)年停更被噴成什么樣?

網(wǎng)關(guān)也并不是非Spring Cloud netflix下的zuul不可饥追。非Spring Cloud生態(tài)下還有優(yōu)秀的kong节吮、Traefik、soul都是非常不錯(cuò)的選擇判耕。

最后就是Spring Cloud生態(tài)組件的穩(wěn)定性和性能透绩。用Spring Cloud微服務(wù)生態(tài)組件或多或少會(huì)碰到這樣那樣的問(wèn)題。你甚至?xí)岩杀谙ǎ@個(gè)東西居然是和Spring Framework以及Spring Boot一起屬于spring生態(tài)的帚豪。畢竟,后兩者使用過(guò)程中你是幾乎碰不到問(wèn)題的草丧。Spring Cloud的一些方案給我的感覺(jué)更像一個(gè)半成品狸臣,如果你的公司使用Spring Cloud來(lái)搭建微服務(wù),那么肯定需要一個(gè)團(tuán)隊(duì)來(lái)維護(hù)用到的Spring Cloud組件昌执。至于性能嘛烛亦,各服務(wù)之間默認(rèn)通過(guò)HTTP調(diào)用诈泼,所以性能你懂的。另外煤禽,Spring Cloud netflix這一套組件雖然由netflix貢獻(xiàn)铐达,但是我敢肯定絕對(duì)是閹割版,以它的hystrix來(lái)說(shuō)檬果,相當(dāng)多的缺陷瓮孙,我可不認(rèn)為hystrix在高并發(fā)下能工作的很好。

Spring Cloud還有一個(gè)尷尬的處境就是选脊,大公司基本上不會(huì)引入這一套架構(gòu)杭抠,比如阿里,有自己一套完整的微服務(wù)解決方案恳啥,美團(tuán)也全部都是自研偏灿,還有很多公司的網(wǎng)關(guān)也是自研。綜上钝的,筆者得出的結(jié)論是:Spring Boot是大勢(shì)所趨翁垂,而且它就像當(dāng)年Spring Framework干掉EJB一樣,干掉WEB容器+WAR的開(kāi)發(fā)模式扁藕,統(tǒng)一現(xiàn)在的Java企業(yè)級(jí)應(yīng)用開(kāi)發(fā)標(biāo)準(zhǔn)。至于Spring Cloud疚脐?請(qǐng)謹(jǐn)慎選擇每一個(gè)引入項(xiàng)目的組件亿柑,畢竟它的每一個(gè)微服務(wù)組件都面對(duì)很多優(yōu)秀的開(kāi)源可替代方案。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末棍弄,一起剝皮案震驚了整個(gè)濱河市望薄,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌呼畸,老刑警劉巖痕支,帶你破解...
    沈念sama閱讀 216,402評(píng)論 6 499
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異蛮原,居然都是意外死亡卧须,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,377評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門(mén)儒陨,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)花嘶,“玉大人,你說(shuō)我怎么就攤上這事蹦漠⊥衷保” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 162,483評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵笛园,是天一觀的道長(zhǎng)隘击。 經(jīng)常有香客問(wèn)我侍芝,道長(zhǎng),這世上最難降的妖魔是什么埋同? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,165評(píng)論 1 292
  • 正文 為了忘掉前任州叠,我火速辦了婚禮,結(jié)果婚禮上莺禁,老公的妹妹穿的比我還像新娘留量。我一直安慰自己,他們只是感情好哟冬,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,176評(píng)論 6 388
  • 文/花漫 我一把揭開(kāi)白布楼熄。 她就那樣靜靜地躺著,像睡著了一般浩峡。 火紅的嫁衣襯著肌膚如雪可岂。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 51,146評(píng)論 1 297
  • 那天翰灾,我揣著相機(jī)與錄音缕粹,去河邊找鬼。 笑死纸淮,一個(gè)胖子當(dāng)著我的面吹牛平斩,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播咽块,決...
    沈念sama閱讀 40,032評(píng)論 3 417
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼绘面,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了侈沪?” 一聲冷哼從身側(cè)響起揭璃,我...
    開(kāi)封第一講書(shū)人閱讀 38,896評(píng)論 0 274
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎亭罪,沒(méi)想到半個(gè)月后瘦馍,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,311評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡应役,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,536評(píng)論 2 332
  • 正文 我和宋清朗相戀三年情组,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片箩祥。...
    茶點(diǎn)故事閱讀 39,696評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡呻惕,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出滥比,到底是詐尸還是另有隱情亚脆,我是刑警寧澤,帶...
    沈念sama閱讀 35,413評(píng)論 5 343
  • 正文 年R本政府宣布盲泛,位于F島的核電站濒持,受9級(jí)特大地震影響键耕,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜柑营,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,008評(píng)論 3 325
  • 文/蒙蒙 一屈雄、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧官套,春花似錦酒奶、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,659評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至站刑,卻和暖如春另伍,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背绞旅。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,815評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工摆尝, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人因悲。 一個(gè)月前我還...
    沈念sama閱讀 47,698評(píng)論 2 368
  • 正文 我出身青樓堕汞,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親晃琳。 傳聞我的和親對(duì)象是個(gè)殘疾皇子讯检,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,592評(píng)論 2 353