1.添加依赖(此处指贴出了openfeign和sentinel相关的pom依赖,nacos等请自行添加)
spring-cloud-starter-openfeign
spring-cloud-starter-alibaba-sentinel
2.yml 文件中的设置 服务提供者
spring:
cloud:
sentinel:
transport:
port: 7021
dashboard: localhost:7071
feign:
sentinel:
enabled: true
以上是feign使用sentinel的使能,和项目连接sentinel 控制台的设置,控制台的使用操作请看上一篇
3.启动类上的注解
以上是使项目在注册中心发现,enableFeignClients是使能FeignClient客户端,
4.定义调用的接口
使用@FeignClient 定义接口,fallback是定义限流,降级之后的代替操作,此处注意,不要同时设置fallback和fallbackFactory两个量,同时设置只会执行一个。
5.消费者调用-依赖添加
org.springframework.cloud spring-cloud-starter-openfeign
spring-cloud-starter-alibaba-sentinel
消费者添加openfeign的pom依赖
6消费者调用-yml设置
spring:
cloud:
sentinel:
transport:
port: 7025
dashboard: localhost:7071
feign:
sentinel:
enabled: true
7.消费者调用-启动类注解添加,使能@EnableFeignClients,注册中心发现
8.消费者调用-调用
至此项目基本完成,后面就进行限流测试,
9.打开sentinel控制台,控制台内容为懒加载,你先请求一下api,控制台中就出现对应的蔟点,如下所示:
设置流控:为了测试都设置最小的就可以,QPS设置1,
在浏览器中快速请求api,达到流控要求后,系统会默认抛出对应异常,且系统默认有异常处理handler,都不用去管,最终的处理为你设置的fallback或者fallbackFactory中的返回内容。如果没有设置fallback,则会抛出异常到系统中,你也可以使用全局异常处理,拦截此异常进行返回设置。



