溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Sentinel-結(jié)合RestTemplate(四)

發(fā)布時間:2020-08-07 11:26:49 來源:網(wǎng)絡(luò) 閱讀:426 作者:lxhllf2005 欄目:編程語言

依賴:

<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
向AI問一下細節(jié)

免責(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)容。

AI