springcloud五大元件是:1、Eureka,一個RESTful服務,用來定位運行在AWS地區中的中間層服務;2、Ribbon,一個基於HTTP和TCP的客戶端負載平衡工具;3、 Hystrix,防止一個應用程式多次試圖執行一個操作;4、Zuul,具有api網關,路由,負載平衡等多種作用;5、Config,提供伺服器端和客戶端。
springcloud五大元件是什麼?
1、Eureka
角色:實現服務治理(服務註冊與發現)。
一個RESTful服務,用來定位運作在AWS地區(Region)中的中間層服務。由兩個元件組成:Eureka伺服器和Eureka客戶端。 Eureka伺服器用作服務註冊伺服器。 Eureka客戶端是一個java客戶端,用來簡化與伺服器的互動、作為輪詢負載平衡器,並提供服務的故障切換支援。 Netflix在其生產環境中使用的是另外的客戶端,它提供基於流量、資源利用率以及出錯狀態的加權負載平衡。
在應用程式啟動時,Eureka客戶端向服務端註冊自己的服務訊息,同時將服務端的服務資訊快取到本機。客戶端會和服務端週期性的進行心跳交互,以更新服務租約和服務資訊。
2、Ribbon
作用:主要提供客戶端的軟體負載平衡演算法。
Spring Cloud Ribbon是一個基於HTTP和TCP的客戶端負載平衡工具,它是基於Netflix Ribbon實作。透過Spring Cloud的封裝,可以讓我們輕鬆地將服務導向的REST模版請求自動轉換成客戶端負載平衡的服務呼叫。 Ribbon用戶端元件提供一系列完善的設定選項,例如連線逾時、重試、重試演算法等。 Ribbon內建可插拔、可自訂的負載平衡組件。
3、Hystrix
斷路器可以防止一個應用程式多次試圖執行一個操作,即很可能失敗,允許它繼續而不等待故障恢復或浪費CPU 週期,而它確定此故障是持久的。斷路器模式也使應用程式能夠檢測故障是否已解決。如果問題似乎已經修正,應用程式可以嘗試呼叫操作。
為了保證其高可用,單一服務通常會叢集部署。由於網路原因或本身的原因,服務並不能保證100%可用,如果單一服務出現問題,呼叫這個服務就會出現線程阻塞,此時若有大量的請求湧入,Servlet容器的線程資源會被消耗完畢,導致服務癱瘓。服務與服務之間的依賴性,故障會傳播,會對整個微服務系統造成災難性的嚴重後果,這就是服務故障的「雪崩」效應。
4、Zuul
作用:具有api網關,路由,負載平衡等多種作用。
類似nginx,反向代理的功能,不過netflix自己增加了一些配合其他元件的特性。在微服務架構中,後端服務往往不會直接開放給呼叫端,而是透過一個API網關根據請求的url,路由到對應的服務。當加入API網關後,在第三方呼叫端和服務提供者之間就創建了一面牆,這面牆直接與呼叫方通訊進行權限控制,後將請求均衡分發給後台服務端。
5、Config
作用:設定管理。
SpringCloud Config提供伺服器端和客戶端。伺服器儲存後端的預設實作使用git,因此它輕鬆支援標籤版本的配置環境,以及可以存取用於管理內容的各種工具。這個還是靜態的,得配合Spring Cloud Bus實現動態的配置更新。
什麼是Spring Cloud?
Spring Cloud是一系列框架的有序集合。它利用Spring Boot的開發便利性巧妙地簡化了分散式系統基礎設施的開發,如服務發現註冊、配置中心、訊息匯流排、負載平衡、斷路器、資料監控等,都可以用Spring Boot的開發風格做到一鍵啟動和部署。 Spring Cloud並沒有重複製造輪子,它只是將各家公司開發的比較成熟、經得起實際考驗的服務框架組合起來,透過Spring Boot風格進行再封裝屏蔽掉了複雜的配置和實現原理,最終給開發者留出了一套簡單易懂、易於部署和易於維護的分散式系統開發工具包。
以上是springcloud五大組件是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!