客戶(hù)端負(fù)載均衡:Spring Cloud Ribbon

1、開(kāi)啟多個(gè)Eureka Client服務(wù)實(shí)例

2、創(chuàng)建Ribbon項(xiàng)目:

①、pom.xml文件中添加ribbon依賴(lài)

②、啟動(dòng)類(lèi)上添加@EnableDiscoveryClient注解使應(yīng)用注冊(cè)為Eureka Client以便獲得服務(wù)發(fā)現(xiàn)的能力

③、在啟動(dòng)類(lèi)中創(chuàng)建RestTemplate實(shí)例(Spring Bean)@Bean,并通過(guò)@LoadBalanced注解開(kāi)啟客戶(hù)端負(fù)載均衡

④、創(chuàng)建ConsumerController類(lèi)實(shí)現(xiàn)/ribbon-consumer接口

⑤、通過(guò)RestTemplate實(shí)現(xiàn)對(duì)Eureka Client服務(wù)實(shí)例的/hello接口進(jìn)行調(diào)用

⑥、在application.properties文件中配置Eureka Server服務(wù)注冊(cè)中心的位置、端口號(hào)以及服務(wù)名稱(chēng)

3、配置:

①、spring.cloud.loadbalancer.retry.enabled = true開(kāi)啟重試機(jī)制

②、hystrix.command.default.execution.isolation.thread.timeoutInMilliseconds = +毫秒數(shù)(斷路器超時(shí)時(shí)間,要超過(guò)Ribbon時(shí)間,否則不會(huì)觸發(fā)重試

③、serverName.ribbon.ConnectTimeout = +請(qǐng)求鏈接的超時(shí)時(shí)間

④、serverName.ribbon.ReadTimeout = +請(qǐng)求處理的超時(shí)時(shí)間

⑤、serverName.ribbon.OkToRetryOnAllOperations = true/false是否對(duì)所有操作請(qǐng)求都進(jìn)行重試

⑥、serverName.ribbon.MaxAutoRetriesNextServer = +切換實(shí)例的重試次數(shù)

⑦、serverName.ribbon.MaxAutoReties = +對(duì)當(dāng)前實(shí)例的重試次數(shù)

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容