1. 程式人生 > >Spring cloud微服務的客戶端負載均衡 Ribbon

Spring cloud微服務的客戶端負載均衡 Ribbon

    在我們已經有了服務註冊中心和服務提供者(這裡為了節省時間,此專案即是服務提供者,也是服務消費者),下面就嘗試建立服務消費者,它主要完成兩個目標,發現服務和消費服務。其中發現服務由 Eureak 的客戶端完成,而服務消費的任務由 Ribbon 完成。Ribbon 是一個基於 HTTPTCP 的客戶端負載均衡器,它可以通過在客戶端中配置的 ribbonServerList 重寫,擴充套件成從 Eureka 註冊中心中獲取服務端列表。同時它也會用 NIWSDiscoveryPing 來取代 IPing, 它將職責委託給 Eureka 來確定服務端是否已經啟動。

在實現專案之前,我們需要啟動服務註冊中心 (單節點和高可用都行)。


使用Spring Initializr建立工程 加入Ribbon的依賴。


在啟動類新增@EnableDiscoveryClient註解將自己註冊到服務註冊中心。

配置application.yml檔案


在啟動類建立 RestTemplate的例項,並且使用LoadBalanced註解開啟客戶端負載均衡。


在Controller中直接實現 通過RestTemplate轉發請求。


通過瀏覽器訪問 localhost:8888/rest?name=zs 將請求轉發到 /hello中 輸出結果。


到這裡就實現了客戶端的負載均衡。