springcloud五大元件:1、Eureka實現服務治理;2、Ribbon主要提供客戶側的軟體負載平衡演算法;3、Hystrix斷路器,保護系統,控制故障範圍;4、Zuul,api網關,路由,負載平衡等多種作用;5、Config配置管理。
本文操作環境:windows10系統、spring cloud 2.4.x、thinkpad t480電腦。
springcloud五大元件:
1、Eureka
作用:實作服務治理(服務註冊與發現)
簡介:Spring Cloud Eureka是Spring Cloud Netflix專案下的服務治理模組。
由兩個元件組成:Eureka服務端和Eureka客戶端。
Eureka服務端用作服務註冊中心。支援集群部署。
Eureka客戶端是一個java客戶端,用來處理服務註冊與發現。
在應用程式啟動時,Eureka客戶端向服務端註冊自己的服務訊息,同時將服務端的服務資訊快取到本機。客戶端會和服務端週期性的進行心跳交互,以更新服務租約和服務資訊。
2、Ribbon
#:Ribbon,主要提供客戶端的軟體負載平衡演算法。
簡介:Spring Cloud Ribbon是一個基於HTTP和TCP的客戶端負載平衡工具,它是基於Netflix Ribbon實作。透過Spring Cloud的封裝,可以讓我們輕鬆地將服務導向的REST模版請求自動轉換成客戶端負載平衡的服務呼叫。
注意看上圖,關鍵點就是將外界的rest調用,根據負載平衡策略轉換為微服務調用。 Ribbon有比較多的負載平衡策略,以後專門講解。
3、Hystrix
#:斷路器,保護系統,控制故障範圍。
簡介:為了保證其高可用,單一服務通常會叢集部署。由於網路原因或本身的原因,服務並不能保證100%可用,如果單一服務出現問題,呼叫這個服務就會出現線程阻塞,此時若有大量的請求湧入,Servlet容器的線程資源會被消耗完畢,導致服務癱瘓。服務與服務之間的依賴性,故障會傳播,會對整個微服務系統造成災難性的嚴重後果,這就是服務故障的「雪崩」效應。
4、Zuul
#:api網關,路由,負載平衡等多種作用
簡介:類似nginx,反向代理的功能,不過netflix自己增加了一些配合其他元件的特性。
在微服務架構中,後端服務往往不會直接開放給呼叫端,而是透過一個API閘道根據請求的url,路由到對應的服務。當加入API網關後,在第三方呼叫端和服務提供者之間就創建了一面牆,這面牆直接與呼叫方通訊進行權限控制,後將請求均衡分發給後台服務端。
5、Config
#:設定管理
簡介:SpringCloud Config提供伺服器端和客戶端。伺服器儲存後端的預設實作使用git,因此它輕鬆支援標籤版本的配置環境,以及可以存取用於管理內容的各種工具。
這個還是靜態的,得配合Spring Cloud Bus實現動態的設定更新。
以上是springcloud五大組件是哪些的詳細內容。更多資訊請關注PHP中文網其他相關文章!