Spring Cloud Alibaba Sentinel集成Feign

390 阅读1分钟

1、pom文件加依赖

        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-sentinel</artifactId>
        </dependency>

2、配置文件增加:

feign.sentinel.enabled=true

3、定义自己需要调用的Feign类

@FeignClient(name="orderService", fallback = OrderFeignFallback.class)
public interface OrderService {

    @RequestMapping(value = "/echo/{string}", method = RequestMethod.GET)
    public String echo(@PathVariable String string);
}

4、定义fallback类

@Component
public class OrderFeignFallback implements OrderService {

    @Override
    public String echo(String string) {
        return "callback";
    }
}

5、这样就可以类似本地调用一样,调用远程接口

    @Autowired
    private OrderService orderService;

    @RequestMapping(value = "/echo/{str}", method = RequestMethod.GET)
    public String echo(@PathVariable String str) {
        return orderService.echo(str);
    }

6、将OrderService停掉,就可以看到服务会降级调用OrderFeignFallback中的方法。