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