美文网首页
Sentinel 1.8.0 自定义配置限流/流控返回异常信息

Sentinel 1.8.0 自定义配置限流/流控返回异常信息

作者: Miozus | 来源:发表于2022-03-30 12:12 被阅读0次

Sentinel version 1.8.0 (which not exists WebCallbackManager or UrlBlockHandler )

✅ correct demonstation

pom.xml import

<dependency>
    <groupId>com.alibaba.csp</groupId>
    <artifactId>sentinel-spring-webmvc-adapter</artifactId>
    <version>x.y.z</version>
</dependency>

override interface


/**
 * 秒杀限流异常处理程序
 *
 * @author Miozus
 * @date 2022/03/30
 */
@Configuration
public class SeckillBlockExceptionHandler implements BlockExceptionHandler {
    @Override
    public void handle(HttpServletRequest request, HttpServletResponse response, BlockException e) throws Exception {
        R error = R.error(BizCodeEnum.TOO_MANY_REQUESTS);
        response.setHeader("Content-Type", "application/json;charset=UTF-8");
        response.getWriter().write(JSONUtil.toJsonStr(error));
    }
}

response:

{"msg":"请求流量过大","code":10003}

❌ incorrected demonstration

addInterceptors

addInterceptors not works

Not Exists field cause of SentinelWebMvcConfig does not exist blockExceptionHandler which belongs to its father Object (BaseWebMvcConfig).

public class SentinelWebMvcConfig extends BaseWebMvcConfig {

    public static final String DEFAULT_REQUEST_ATTRIBUTE_NAME = "$$sentinel_spring_web_entry_attr";

    /**
     * Specify the URL cleaner that unifies the URL resources.
     */
    private UrlCleaner urlCleaner;

    /**
     * Specify whether the URL resource name should contain the HTTP method prefix (e.g. {@code POST:}).
     */
    private boolean httpMethodSpecify;

    /**
     * Specify whether unify web context(i.e. use the default context name), and is true by default.
     *
     * @since 1.7.2
     */
    private boolean webContextUnify = true;

//...

The offical document I have read , it is helpful for testing but not accuracy.

The UrlBlockHandler was not changed. If you're using sentinel-spring-webmvc-adapter, you may refer to: https://github.com/alibaba/Sentinel/tree/master/sentinel-adapter/sentinel-spring-webmvc-adapter

相关文章

  • Sentinel 1.8.0 自定义配置限流/流控返回异常信息

    Sentinel version 1.8.0 (which not exists WebCallbackManag...

  • Spring Cloud Alibaba之服务容错组件 - Se

    扩展 - 错误信息优化 Sentinel默认在当前服务触发限流或降级时仅返回简单的异常信息,如下: 并且限流和降级...

  • 28. Spring Cloud Alibaba之服务容错组件

    扩展 - 错误信息优化 Sentinel默认在当前服务触发限流或降级时仅返回简单的异常信息,如下: 并且限流和降级...

  • 18.流控规则-流控模式

    流控模式 Sentinel共有三种流控模式,分别是:直接(默认):接口达到限流条件时,开启限流关联:当关联的资源达...

  • sentinel概念

    sentinel功能点 流控qps线程数 降级RT:平均响应时间异常比例:异常数: 热点QPS 模式 授权流控应用...

  • Sentinel笔记

    1.常见的处理服务雪崩的方式 超时时间 限流 仓壁模式 断路器模式 2.Sentinel流控方式 流控模式: 直接...

  • sentinel功能点

    流控qps线程数 降级RT:平均响应时间异常比例:异常数: 热点QPS 模式 授权流控应用黑白名单 概念解释 限流...

  • ssm框架配置全局异常

    要求:既能返回ajax提交请求的异常信息,又能以指定的错误页面返回异常信息***自定义异常 ***指定的异常页面 ...

  • SpringBoot异常处理

    1. 配置全局异常和自定义异常 异常处理类(包括全局和自定义) 自定义异常类 2.返回自定义页面 创建自定义页面位...

  • Sentinel基于并发线程数流控验证

    一、Sentinel基于并发线程数流控 采用基于线程数的限流模式后,我们不需要再显式地去进行线程池隔离,Senti...

网友评论

      本文标题:Sentinel 1.8.0 自定义配置限流/流控返回异常信息

      本文链接:https://www.haomeiwen.com/subject/uiiijrtx.html