您好,登錄后才能下訂單哦!
依賴:
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-commons</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-alibaba-sentinel</artifactId>
</dependency>
配置注入:
@Bean
@LoadBalanced
// 讓 RestTemplate 支持 Sentinel 限流
@SentinelRestTemplate(
blockHandler = "blockHandlerFunc",
fallback = "fallbackFunc",
blockHandlerClass = MyBlockHandlerClass.class
)
public RestTemplate restTemplate(){
return new RestTemplate();
}
異常處理類:
@Slf4j
public class MyBlockHandlerClass {
public static String blockHandlerFunc(String a, BlockException e){
log.warn("限流了",e);
return "";
}
public static String fallbackFunc(String a){
log.warn("降級了");
return "";
}
}
調(diào)用:
@Autowired
RestTemplate restTemplate;
this.restTemplate.getForObject("http://user-center/users/{id}", Users.class,article.getId());
配置開關(guān):
resttemplate:
# 關(guān)閉 @SentinelRestTemplate 作用,開發(fā)環(huán)境可以臨時關(guān)閉: 降級,限流
sentinel:
enabled: false
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。