1讽挟、開啟多個(gè)Eureka Client服務(wù)實(shí)例
2域庇、創(chuàng)建Ribbon項(xiàng)目:
①屋谭、pom.xml文件中添加ribbon依賴
②耐亏、啟動(dòng)類上添加@EnableDiscoveryClient注解使應(yīng)用注冊(cè)為Eureka Client以便獲得服務(wù)發(fā)現(xiàn)的能力
③、在啟動(dòng)類中創(chuàng)建RestTemplate實(shí)例(Spring Bean)@Bean郭怪,并通過(guò)@LoadBalanced注解開啟客戶端負(fù)載均衡
④支示、創(chuàng)建ConsumerController類實(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ù)名稱
3、配置:
①攒庵、spring.cloud.loadbalancer.retry.enabled = true開啟重試機(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ù)