您好,登錄后才能下訂單哦!
依賴:
<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 "";
}
}
調用:
@Autowired
RestTemplate restTemplate;
this.restTemplate.getForObject("http://user-center/users/{id}", Users.class,article.getId());
配置開關:
resttemplate:
# 關閉 @SentinelRestTemplate 作用,開發環境可以臨時關閉: 降級,限流
sentinel:
enabled: false
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。