引言:搭建微服務架構就像是買電腦,使用SpringCloud就是在買品牌機。
前言
昂,美好的天氣裡,不想直接說技術,給小夥伴萌看看傍晚的天空吧。
—— 能找到天上的北極星嗎?
上一篇文章中,通過一個簡單的小故事,輕鬆愉快的講解了架構的演變,以及為啥會有微服務,什麼是微服務。不過在最後留下了一個小疑問:將架構設計為微服務需要一整套技術,解決服務調用,服務治理,服務監控等問題。
那麼這些技術怎麼來呢?
答案就是:SpringCloud。
本文就會詳細講解
什麼是SpringCloudSpringCloud和SpringBoot的關係SpringCloud版本選擇什麼是SpringCloud
引言:搭建微服務架構就像是買電腦,使用SpringCloud就是在買品牌機。
SpringCloud,基於SpringBoot提供了一套微服務解決方案,包括服務註冊與發現,配置中心,全鏈路監控,服務網關,負載均衡,熔斷器等組件,除了基於NetFlix的開源組件做高度抽象封裝之外,還有一些選型中立的開源組件。
NetFlix 是美國的一個在線視頻網站,微服務業的翹楚,他是公認的大規模生產級微服務的傑出實踐者,NetFlix的開源組件已經在他大規模分布式微服務環境中經過多年的生產實戰驗證,因此spring cloud中很多組件都是基於NetFlix組件的封裝
在上篇文章中我們講到微服務是一套技術的合集,這些技術裡面有服務調用技術,負載均衡技術,網關技術等等大大小小十幾個技術。
那麼問題來了?在開發中,我們怎麼才能找到這樣一整套技術呢?
第一種方案:就是自己需要什麼找什麼技術,但是這樣會有一個問題,技術和技術之間往往都會有一些兼容性的問題,要解決這些問題,需要很強的技術示例,中小型企業一般沒有這樣的實力。
第二種方案:一些有實力的公司會自己尋找一整套技術,並且做一些封裝和整合,然後開源讓大家使用。SpringCloud就是這樣的技術,SpringCloud是官方封裝好的一整套分布式微服務的技術解決方案,我們也稱之為微服務全家桶。
舉個通俗的例子:開發微服務相當於買一臺電腦自己找微服務的技術相當於自己組裝電腦,需要自己選配零部件,並且做組裝整合,一般人搞不定。 使用SpringCloud相當於直接買了一個聯想的電腦,買品牌機,廠家會把CPU 顯卡等等都幫你配置好了,買來就能用。
SpringCloud包含的技術:
.....等一二十個技術,網址:https://www.springcloud.cc/
SpringCloud 和 SpringBoot的關係
用過SpringBoot的小夥伴都知道,SpringBoot開發之所以方便快捷,就是因為SpringBoot自動配置可以讓我們在開發的時候不寫基本的配置,通過完美的封裝讓應用可以做到一鍵啟動和部署,而SpringCloud多個技術整合,最複雜的過程往往是配置。
所以SpringCloud選擇SpringBoot作為技術底層,對目前各家公司開發的比較成熟、經得起實際考驗的服務框架組合起來,進行二次封裝,屏蔽掉了複雜的配置和實現原理。讓我們使用SpringCloud像使用SpringBoot一樣的簡單。
SpringCloud和SpringBoot的版本選擇
關於SpringCloud和SpringBoot的版本選擇問題,可以見官網:https://spring.io/projects/spring-cloud/
我們選擇的是 Finchley 版本的SpringCloud,SpringBoot的版本就要選擇 2.0.X。
解釋一下 SpringCloud 版本號:SpringCloud 版本的命名規範實際上是 英文單詞 SRX 的形式命名SpringCloud的版本號沒有採用 數字 命名,而是英文的單詞,?Angel、Brixton、Camden等都是倫敦地鐵站的名稱,它們按照字母順序發行。這個是主版本號,我們一般會稱之為 F版本,D版本。 後面的SR表示「Service Release」,一般表示Bug修復;在SR版本發布之前,會先發布一個Release版本,例如Camden RELEASE。
總結
恭喜你完成了本章的學習,為你鼓掌!如果本文對你有幫助,請幫忙點讚,評論,轉發,這對作者很重要,謝謝。
要掌握SpringCloud更多的用法,請持續關注本系列教程。