在之前的實(shí)驗(yàn)中都是通過(guò)Eureka和Ribbon結(jié)合使用的,但是現(xiàn)實(shí)中可能不具備這樣的條件。例如有些服務(wù)沒(méi)有注冊(cè)到注冊(cè)中心,但此時(shí)需要負(fù)載均衡到該服務(wù),所以需要一種脫離Eureka使用Ribbon。
修改movie:
1、去掉pom文件中的Eureka依賴
??? org.springframework.cloud ???spring-cloud-starter-eureka-server
這個(gè)包其實(shí)包含ribbon相關(guān)包,由于之前的負(fù)載均衡都是基于Eureka的,所以無(wú)需單獨(dú)引入Ribbon相關(guān)包?,F(xiàn)在把這個(gè)依賴去掉并且單獨(dú)引入ribbon包。
2、加入Ribbon包
??? org.springframework.cloud ???spring-cloud-starter-netflix-ribbon
3、修改啟動(dòng)類,去掉 @EnableEurekaClient? 注解
@SpringBootApplication //@EnableEurekaClient public?class?MovieApplication?{ ????@Bean ????@LoadBalanced ????public?RestTemplate?restTemplate()?{ ????????return?new?RestTemplate(); ????} ????public?static?void?main(String[]?args)?{ ????????SpringApplication.run(MovieApplication.class,?args); ????} }
4、了解到,ribbon和Eureka結(jié)合使用時(shí),從Eureka獲取服務(wù)提供者的服務(wù)端口及IP來(lái)調(diào)用服務(wù),現(xiàn)在脫離Eureka后無(wú)法獲取服務(wù)提供者的訪問(wèn)地址,因此需要在movie中指定服務(wù)調(diào)用者的端口及ip,修改yml文件:
user: ??ribbon: ????listOfServers:?localhost:8010,localhost:8011
調(diào)用格式:
啟動(dòng)movie,并且啟動(dòng)多個(gè)user實(shí)例,訪問(wèn)http://localhost:8020/movie/findById?userId=1
可以獲得結(jié)果。在觀察user的控制臺(tái):
可見(jiàn)請(qǐng)求已經(jīng)分?jǐn)偟絻蓚€(gè)實(shí)例中,實(shí)現(xiàn)了負(fù)載均衡
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。