對於springcloud來說,首先我們需要認識一些基本的元件,這會讓我們之後的討論和交流更有效率。
如果你都不知道別人再說什麼,或者別人都不知道你再講什麼,就很尷尬了。
eureka [jʊ'ri:kə]
ribbon [ˈrɪbən]
feign [fen]
hystrix [hɪst'rɪks]
zuul [zulu]
sleuth [sluθ]
turbine [ˈtɜ:rbaɪn]
這裡的說明借用網上乙個很6的分類方式來說明。
潤物無聲類和獨挑大樑類。
獨挑大樑,獨自啟動不需要依賴其它元件。
eureka,服務註冊中心,特性有失效剔除、服務保護。(類似生活中的大堂,登記了整個專案的所有服務)
dashboard,hystrix儀錶盤,監控集群模式和單點模式,其中集群模式需要收集器turbine配合。(類似生活中的保安監控室)
zuul,api服務閘道器,功能有路由分發和過濾。(類似交警叔叔,指揮道路交通)
config,分布式配置中心,支援本地倉庫、svn、git、jar包內配置等模式。(類似規章制度,每個人都從這裡獲取規定配置)
潤物無聲,融合在每個微服務中、依賴其它元件並為其提供服務。
ribbon,客戶端負載均衡,特性有區域親和、重試機制。(類似nginx)
hystrix,客戶端容錯保護,特性有服務降級、服務熔斷、請求快取、請求合併、依賴隔離。(怕訪問過於頻繁服務掛了,進行限流,太頻繁的請求就直接拒絕)
feign,宣告式服務呼叫,本質上就是ribbon+hystrix。(用註解的方式進行服務呼叫,**更好看了)
stream,訊息驅動,有sink、source、processor三種通道,特性有訂閱發布、消費組、訊息分割槽。
bus,訊息匯流排,配合config倉庫修改的一種stream實現。(用於廣播訊息,一說大家都知道了啦)
sleuth,分布式服務追蹤,需要搞清楚traceid和spanid以及抽樣,如何與elk整合。(服務多了,呼叫的線路就會很複雜,需要跟蹤來知道你到底是怎麼走的)
springcloud元件太多,很多人會覺得學習成本很大,而且即使學到了好像在實際中很難去應用,因為應用場景導致。所以在學習的時候,需要抓住重點,並不是所有元件在乙個專案中都會用到的,很多時候我們需要的只是其中必要的部分,有了必要的東西我們就能完成我們所需要的功能,而多數的元件是為了方便很多功能,或者對於後面的業務擴充套件有追求的時候使用的。之後會慢慢更新每個元件的細節使用,以及實際使用的業務場景。
參考部落格:
Spring Cloud 各個元件介紹
從上圖可以看出 spring cloud 各個元件相互配合,合作支援了一套完整的微服務架構 eureka 負責服務的註冊與發現,很好地將各服務連線起來。hystrix 負責監控服務之間的呼叫情況,連續多次失敗進行熔斷保護。hystrix dashboard,turbine 負責監控 hystrix ...
SpringCloud各個元件說明及發音
對於springcloud來說,首先我們需要認識一些基本的元件,這會讓我們之後的討論和交流更有效率。如果你都不知道別人再說什麼,或者別人都不知道你再講什麼,就很尷尬了。這裡的說明借用網上乙個很6的分類方式來說明。潤物無聲類和獨挑大樑類。獨挑大樑,獨自啟動不需要依賴其它元件。潤物無聲,融合在每個微服務...
SpringCloud各個元件都實現了什麼功能
eureka 註冊中心,負責服務的註冊和發現以及狀態監控 rribbon 實現了負載均衡,不需要再手動拼接請求url,根據服務名就可以直接呼叫 hystrix 1.執行緒隔離和服務降級 使用隔離的執行緒池去呼叫服務,呼叫失敗或超時後及時返回服務降級結果,從而避免了請求掛起 執行緒阻塞導致的伺服器級聯...