Spring cloud微服務的客戶端負載均衡 Ribbon
阿新 • • 發佈:2019-02-01
在我們已經有了服務註冊中心和服務提供者(這裡為了節省時間,此專案即是服務提供者,也是服務消費者),下面就嘗試建立服務消費者,它主要完成兩個目標,發現服務和消費服務。其中發現服務由 Eureak 的客戶端完成,而服務消費的任務由 Ribbon 完成。Ribbon 是一個基於 HTTP 和 TCP 的客戶端負載均衡器,它可以通過在客戶端中配置的 ribbonServerList 重寫,擴充套件成從 Eureka 註冊中心中獲取服務端列表。同時它也會用 NIWSDiscoveryPing 來取代 IPing, 它將職責委託給 Eureka 來確定服務端是否已經啟動。
在實現專案之前,我們需要啟動服務註冊中心 (單節點和高可用都行)。
使用Spring Initializr建立工程 加入Ribbon的依賴。
在啟動類新增@EnableDiscoveryClient註解將自己註冊到服務註冊中心。
配置application.yml檔案
在啟動類建立 RestTemplate的例項,並且使用LoadBalanced註解開啟客戶端負載均衡。
在Controller中直接實現 通過RestTemplate轉發請求。
通過瀏覽器訪問 localhost:8888/rest?name=zs 將請求轉發到 /hello中 輸出結果。
到這裡就實現了客戶端的負載均衡。