02-Sentinel配置流控,整合Feign,降级规则

  • Post author:
  • Post category:其他




一,流控配置

在这里插入图片描述


资源名

:通常以请求的URL来作为资源名,当然也可以为某个资源单独命名如@SentinelResource注解方式,try-with-resources方式 等等,


阈值类型

:QPS:每秒限制请求数,线程数:每秒总线程的并发数。


均摊阈值

:每秒最大的请求数或者每秒最多的线程总数。


是否集群



单机均摊:如上图配置,在集群模式下abc三台机器,abc每台机器每秒放10个请求进来。

总体阈值:如上图配置,在集群模式下abc三台机器,sentinel每秒一共放10个请求进来,但是每台机器处理多少有负载均衡来决定。


流控模式



直接:直接限制指定资源。

关联:需要指定一个关联的资源,当关联资源流量大的是时候就会对配置资源限流。

链路:需要指定入口路径,只有入口路径和最后的限制路径一致的条件才会对资源进行限流。


流控效果



快速失败:直接拒绝,直接返回限流的错误,当然可以自定义错误码。

Warm Up:热启动,当服务刚启动的时候,不会直接将所有配置的阈值请求一下子全都丢进来,而是慢慢增加请求量,直到配置的阈值峰值。

排队等待:当达到阈值后,不会直接丢球请求返回错误,而是排队等待被消费,当然也可以指定超时时间。



二,熔断自定义返回值

当触发熔断后返回的错误是sentinel的错误,不符合业务系统的规范,所以当触发熔断之后需要返回指定的业务错误码才行。

@Configuration
public class SentinelResponseConfig {
   

    private static String jsonResponse = "{\"code\":\"CF9999\",\"msg\":\"触发熔断,稍后再试\"}";

    public 



版权声明:本文为qq_47200599原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。