您好,登錄后才能下訂單哦!
最近挺多童鞋在公眾號(itmuch_com)上催更Spring Cloud系列教程,故有此系列。以下是幾點(diǎn)說明/規(guī)劃/答疑:
問:為什么基于Finchley,而非Greenwich?
答:就目前而言,F(xiàn)inchley更貼近生產(chǎn),而Greenwich尚未發(fā)布——雖然已經(jīng)RC了,但有挺多不確定因素,例如:Resilience4j是否會(huì)在Greenwich版本中成功孵化(應(yīng)該是不會(huì))、spring-cloud-netflix-concurrency-limits
文檔一行都沒有等等(搞不好項(xiàng)目被直接干掉也不一定……)還有很多其它未確定的點(diǎn),導(dǎo)致筆者最終選擇使用Finchley作為博客基礎(chǔ)版本。未來,在Greenwich正式發(fā)布后,考慮升級到Greenwich,或者以番外的形式補(bǔ)充。
問:系列課程怎么規(guī)劃的?
答:分為主線故事和番外。主線故事講Eureka、Ribbon、Feign、Hystrix、Zuul、Spring Cloud Config、Spring Cloud Gateway、Spring Cloud Sleuth、Spring Cloud Stream;番外講Spring Cloud Consul、Spring Cloud R4j、Nacos、Sentinel;另外講持續(xù)集成、持續(xù)發(fā)布、代碼質(zhì)量控制……暫時(shí)是這么規(guī)劃的。
問:我能從這套課程獲得什么?
答:學(xué)習(xí)完,能比較深入了解Spring Cloud各組件的使用套路、能避過N多常見的坑(諸如Feign配置坑啦、Ribbon配置坑啦、父子上下文坑啦、狀態(tài)UNKONWN坑啦,你可能不知道我在說什么,沒關(guān)系,以后遇到了再來查文檔就行)、理解各組件的工作原理及組件之間的關(guān)系。
問:收費(fèi)嗎?
答:免費(fèi)。極客時(shí)間曾兩度找我約稿,我也確實(shí)考慮過收費(fèi)。錢是好東西,我不是圣人,不過還是放棄了,賺錢的方式有很多,開源是我熱愛的。我只要大家在提建議意見的時(shí)候別那么難聽/難看就知足了。(為什么這么說,大家可以回溯一下我當(dāng)初Spring Cloud開源視頻下面的評論。太TM難看了)
問:我該怎么學(xué)習(xí)這套教程呢?
答:我會(huì)在你需要注意的文字上【加粗】,重要知識點(diǎn)標(biāo)記【重要】,在能拓展你視野的地方標(biāo)記【TIPS】,在坑或者需要重點(diǎn)關(guān)注的地方標(biāo)記【WARNING】;另外絕對不要忘記【拓展閱讀】——這將是是拓展你知識面、開拓技術(shù)視野的一個(gè)重要途徑。記住,永遠(yuǎn)別只去學(xué)習(xí)知識,知識是無窮無盡的,對于軟件,知識還可能會(huì)變……你應(yīng)該提升的是學(xué)習(xí)能力,并開拓技術(shù)視野。隨著微服務(wù)/Cloud Native的深入人心,未來必然是整合能力 > 單項(xiàng)技術(shù)能力。
問:更新頻率?不會(huì)太監(jiān)吧?
答:目前已經(jīng)完稿21篇,每周規(guī)劃3更,但不固定周幾更新。至于是否太監(jiān),我只能盡量不,我不是專職寫開源文檔的……工作很忙,一般得十點(diǎn)才能到宿舍,開始自己的生活;不一般的時(shí)候,沒有生活??傊?,看的人越多,我也會(huì)越有激情??!
問:你TM自問自答跟個(gè)精神病一樣煩不煩?
答:我TM年紀(jì)大了,廢話多點(diǎn)不可以嗎……
最后說一下,原創(chuàng)不易!如果課程對您有幫助,不要吝嗇,請點(diǎn)轉(zhuǎn)發(fā)!請喝咖啡就算了,咖啡讓我失眠^_^
讓我把廢話到此為止吧!Let’s roll!
盡管Spring Cloud帶有“Cloud”的字樣,但它并不是云計(jì)算解決方案,而是在Spring Boot基礎(chǔ)上構(gòu)建的,用于快速構(gòu)建分布式系統(tǒng)的通用模式的工具集。
使用Spring Cloud開發(fā)的應(yīng)用程序非常適合在Docker或者PaaS(例如Cloud Foundry)上部署,所以又叫做云原生應(yīng)用(Cloud Native Application)。云原生(Cloud Native)可簡單理解為面向云環(huán)境的軟件架構(gòu)。說到云原生,就不得不提一下《十二要素應(yīng)用宣言(12-factor Apps)》,這是云原生架構(gòu)的方法論與最佳實(shí)踐。
拓展閱讀
我們知道,大多數(shù)Spring項(xiàng)目都是以“主版本號.次版本號.增量版本號.里程碑版本號”的形式命名版本號的,例如Spring Framework穩(wěn)定版本4.3.5.RELEASE、里程碑版本5.0.0.M4等。其中,主版本號表示項(xiàng)目的重大重構(gòu);次版本號表示新特性的添加和變化;增量版本號一般表示bug修復(fù);里程碑版本號表示某版本號的里程碑。
然而,Spring Cloud并未使用這種方式管理版本。下面我們來詳細(xì)探討一下Spring Cloud的版本。
我們來看一下Spring Cloud的版本,如圖所示。
由圖可知,Spring Cloud是以英文單詞 SRX
的形式命名版本號的。那么英文單詞和SR分別表示什么呢?
Spring Cloud是一個(gè)綜合項(xiàng)目,它包含很多的子項(xiàng)目。由于子項(xiàng)目也維護(hù)著自己的版本號,Spring Cloud采用了這種版本命名方式,從而避免與子項(xiàng)目的版本混淆。其中,英文單詞叫做“release train”,Angel、Brixton、Camden等都是倫敦地鐵站的名稱,它們按照字母順序發(fā)行,我們可將其理解為主版本的演進(jìn)。SR表示“Service Release”,一般表示Bug修復(fù);在SR版本發(fā)布之前,會(huì)先發(fā)布一個(gè)Release版本,例如Camden RELEASE。
經(jīng)過以上講解,相信大家就能很好地理解Spring Cloud的版本了。例如,Camden SR3表示Camden版本的第3次Bug修復(fù)版本。
TIPS
理解Spring Cloud的版本后,我們來看一下各版本Spring Cloud包含的子項(xiàng)目及版本。不同的Spring Cloud版本有不同的子項(xiàng)目:
Component | Edgware.SR5 | Finchley.SR2 | Finchley.BUILD-SNAPSHOT |
---|---|---|---|
spring-cloud-aws | 1.2.3.RELEASE | 2.0.1.RELEASE | 2.0.1.BUILD-SNAPSHOT |
spring-cloud-bus | 1.3.3.RELEASE | 2.0.0.RELEASE | 2.0.1.BUILD-SNAPSHOT |
spring-cloud-cli | 1.4.1.RELEASE | 2.0.0.RELEASE | 2.0.1.BUILD-SNAPSHOT |
spring-cloud-commons | 1.3.5.RELEASE | 2.0.2.RELEASE | 2.0.2.BUILD-SNAPSHOT |
spring-cloud-contract | 1.2.6.RELEASE | 2.0.2.RELEASE | 2.0.2.BUILD-SNAPSHOT |
spring-cloud-config | 1.4.5.RELEASE | 2.0.2.RELEASE | 2.0.2.BUILD-SNAPSHOT |
spring-cloud-netflix | 1.4.6.RELEASE | 2.0.2.RELEASE | 2.0.2.BUILD-SNAPSHOT |
spring-cloud-security | 1.2.3.RELEASE | 2.0.1.RELEASE | 2.0.1.BUILD-SNAPSHOT |
spring-cloud-cloudfoundry | 1.1.2.RELEASE | 2.0.1.RELEASE | 2.0.1.BUILD-SNAPSHOT |
spring-cloud-consul | 1.3.5.RELEASE | 2.0.1.RELEASE | 2.0.2.BUILD-SNAPSHOT |
spring-cloud-sleuth | 1.3.5.RELEASE | 2.0.2.RELEASE | 2.0.2.BUILD-SNAPSHOT |
spring-cloud-stream | Ditmars.SR4 | Elmhurst.SR1 | Elmhurst.BUILD-SNAPSHOT |
spring-cloud-zookeeper | 1.2.2.RELEASE | 2.0.0.RELEASE | 2.0.1.BUILD-SNAPSHOT |
spring-boot | 1.5.16.RELEASE | 2.0.6.RELEASE | 2.0.7.BUILD-SNAPSHOT |
spring-cloud-task | 1.2.3.RELEASE | 2.0.0.RELEASE | 2.0.1.BUILD-SNAPSHOT |
spring-cloud-vault | 1.1.2.RELEASE | 2.0.2.RELEASE | 2.0.2.BUILD-SNAPSHOT |
spring-cloud-gateway | 1.0.2.RELEASE | 2.0.2.RELEASE | 2.0.2.BUILD-SNAPSHOT |
spring-cloud-openfeign | 2.0.2.RELEASE | 2.0.2.BUILD-SNAPSHOT | |
spring-cloud-function | 1.0.1.RELEASE | 1.0.0.RELEASE | 1.0.1.BUILD-SNAPSHOT |
Spring Cloud版本 | Spring Boot版本 |
---|---|
Greenwich | 2.1.x |
Finchley | 2.0.x |
Edgware | 1.5.x |
Dalston | 1.5.x |
可前往https://spring.io/projects/spring-cloud#overview查看版本兼容性。
原文:http://www.itmuch.com/spring-cloud/finchley-1/ ,轉(zhuǎn)載請說明出處。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。