《Feign中使用Sentinel斷路器》
1.添加依賴
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-sentinel</artifactId>
</dependency>
2.添加配置
feign:
sentinel:
enabled: true
3.創(chuàng)建ProviderClientFallback類
import org.springframework.stereotype.Component;
import com.thy.feign.ProviderClient;
@Component
public class ProviderClientFallback implements ProviderClient{
@Override
public String findMember(String string) {
return "訪問失敗";
}
}
4.ProviderClient中的@FeignClient添加fallback屬性ProviderClientFallback.class
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import com.thy.feign.fallback.ProviderClientFallback;
@FeignClient(name="service-provider",fallback = ProviderClientFallback.class)
public interface ProviderClient {
@GetMapping("/echo/{string}")
String findMember(@PathVariable String string);
}
5.測試
此時我們關(guān)閉服務(wù)提供者,請求 http://localhost:8080/echo/hi 瀏覽器會顯示:
訪問失敗