Spring Cloud Netflix筆記
阿新 • • 發佈:2022-01-06
Spring Cloud Netflix是其中一套框架,由Netflix開發後來又併入Spring Cloud大家庭,它主要提供的模組包括:服務註冊發現、斷路器和監控、智慧路由閘道器、客戶端負載均衡等。
Spring Cloud Netflix包含的元件及其主要功能大致如下:
- Eureka,服務註冊和發現,它提供了一個服務註冊中心、服務發現的客戶端,還有一個方便的檢視所有註冊的服務的介面。服務註冊中心也可以部署多個,通過區域zone來區分,來實現高可用。
- Zuul,閘道器,所有的客戶端請求通過這個閘道器訪問後臺的服務。他可以使用一定的路由配置來判斷某一個URL由哪個服務來處理。並從Eureka獲取註冊的服務來轉發請求。
- Ribbon,即負載均衡,Zuul閘道器將一個請求傳送給某一個服務的應用的時候,如果一個服務啟動了多個例項,就會通過Ribbon來通過一定的負載均衡策略來發送給某一個服務例項。
- Feign,服務客戶端,服務之間如果需要相互訪問,可以使用RestTemplate,也可以使用Feign客戶端訪問。它預設會使用Ribbon來實現負載均衡。
- Hystrix,監控和斷路器。我們只需要在服務介面上新增Hystrix標籤,就可以實現對這個介面的監控和斷路器功能。
- Hystrix Dashboard,監控面板,他提供了一個介面,可以監控各個服務上的服務呼叫所消耗的時間等。
- Turbine,監控聚合,使用Hystrix監控,我們需要開啟每一個服務例項的監控資訊來檢視。而Turbine可以幫助我們把所有的服務例項的監控資訊聚合到一個地方統一檢視。這樣就不需要挨個開啟一個個的頁面一個個檢視。