<dependency>
<groupId>org
.springframework.cloud</groupId>
<artifactId>spring
‐
cloud
‐
starter
‐
ribbon</artifactId>
</dependency>
<dependency>
<groupId>com.squareup
.okhttp3</groupId>
<artifactId>okhttp</artifactId>
</dependency>
ribbon:
MaxAutoRetries: 2 #最大重试次数,当Eureka中可以找到服务,但是服务连不上时将会重试
MaxAutoRetriesNextServer: 3 #切换实例的重试次数
OkToRetryOnAllOperations: false #对所有操作请求都进行重试,如果是get则可以,如果是post,put等操作
没有实现幂等的情况下是很危险的,所以设置为false
ConnectTimeout: 5000 #请求连接的超时时间
ReadTimeout: 6000 #请求处理的超时时间
@Bean
@LoadBalanced
public RestTemplate restTemplate() {
return new RestTemplate(new OkHttp3ClientHttpRequestFactory());
}
//负载均衡调用
@Test
public void testRibbon() {
//服务id
String serviceId
=
"
XC
‐
SERVICE
‐
MANAGE
‐
CMS
"
;
for(int i=
0;i<10;i++){
//通过服务id调用
ResponseEntity<CmsPage> forEntity
= restTemplate.
getForEntity(
"
http://
"
+ serviceId
+
"
/cms/page/get/5a754adf6abb500ad05688d9
"
, CmsPage.class);
CmsPage cmsPage
= forEntity
.
getBody();
System.out.
println(cmsPage);
}
}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) | 黑马程序员IT技术论坛 X3.2 |