javascript
Spring Cloud应用开发(三:客户端的负载均衡)
?
1、Ribbon的使用
注:在石榴啊RestTemplate的方法上添加@LoadBalanced注解,并在其執(zhí)行方法中使用服務(wù)實(shí)例的名稱即可;
?
1.1、添加@LoadBalanced注解,在ms-spring-eureka-user工程引導(dǎo)類中的RestTemplate()方法上添加@LoadBalanced注解;
注:在上述方法中RestTemplate被@LoadBalanced注解后,就具有了負(fù)載均衡的能力。
?
1.2、使用服務(wù)實(shí)例名稱。在用戶服務(wù)實(shí)例的查詢方法中,使用服務(wù)提供者(訂單服務(wù))的實(shí)例名稱來執(zhí)行已注冊服務(wù)列表中實(shí)例的方法,如下:
注:從上述代碼中可以看出,getForObject()方法的URI中使用的已經(jīng)不是“主機(jī)地址+端口號”的形式,而使用的是注冊中心中的訂單服務(wù)實(shí)例名稱
?
1.3、創(chuàng)建服務(wù)監(jiān)聽類,為了演示負(fù)載均衡的實(shí)現(xiàn)效果,在這里ms-spring-eureka-order工程中創(chuàng)建一個用于監(jiān)聽服務(wù)實(shí)例端口的工具類ServiceInfoUtil,實(shí)現(xiàn)代碼如下:
?
?
1.4、添加輸出語句,在訂單控制器類OrderController的查詢訂單方法中,增加一行執(zhí)行輸出當(dāng)前實(shí)例端口號的語句;
?
1.5、啟動服務(wù),測試應(yīng)用。分別啟動注冊中心,用戶服務(wù)和訂單服務(wù),然后修改訂單服務(wù)端口號(此處用7902),再次啟動一個訂單服務(wù)后,Eureka信息頁面注冊信息如下:
?
1.6、當(dāng)通過瀏覽器連續(xù)4次訪問地址http://localhost:8000/findOrderByUser/1后,兩個控制臺如下圖所示。
?
總結(jié)
以上是生活随笔為你收集整理的Spring Cloud应用开发(三:客户端的负载均衡)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Spring Cloud应用开发(二:实
- 下一篇: Spring Cloud应用开发(四:服