1、開啟多個Eureka Client服務實例
2、創建Ribbon項目:
①、pom.xml文件中添加ribbon依賴
②、啟動類上添加@EnableDiscoveryClient注解使應用注冊為Eureka Client以便獲得服務發現的能力
③、在啟動類中創建RestTemplate實例(Spring Bean)@Bean,并通過@LoadBalanced注解開啟客戶端負載均衡
④、創建ConsumerController類實現/ribbon-consumer接口
⑤、通過RestTemplate實現對Eureka Client服務實例的/hello接口進行調用
⑥、在application.properties文件中配置Eureka Server服務注冊中心的位置、端口號以及服務名稱
3、配置:
①、spring.cloud.loadbalancer.retry.enabled = true開啟重試機制
②、hystrix.command.default.execution.isolation.thread.timeoutInMilliseconds = +毫秒數(斷路器超時時間,要超過Ribbon時間,否則不會觸發重試
③、serverName.ribbon.ConnectTimeout = +請求鏈接的超時時間
④、serverName.ribbon.ReadTimeout = +請求處理的超時時間
⑤、serverName.ribbon.OkToRetryOnAllOperations = true/false是否對所有操作請求都進行重試
⑥、serverName.ribbon.MaxAutoRetriesNextServer = +切換實例的重試次數
⑦、serverName.ribbon.MaxAutoReties = +對當前實例的重試次數