• SentinelResource注解详解


    SentinelResource注解 属性总结。

    > 本文基于Sentinel 1.6.2,理论支持1.4.0+

    属性作用是否必须
    value资源名称
    entryTypeentry类型,标记流量的方向,取值IN/OUT,默认是OUT
    blockHandler处理BlockException的函数名称。函数要求:
    1. 必须是 public
    2.返回类型与原方法一致
    3. 参数类型需要和原方法相匹配,并在最后加 BlockException 类型的参数
    4. 默认需和原方法在同一个类中。若希望使用其他类的函数,可配置 blockHandlerClass ,并指定blockHandlerClass里面的方法。
    blockHandlerClass存放blockHandler的类。对应的处理函数必须static修饰,否则无法解析,其他要求:同blockHandler。
    fallback用于在抛出异常的时候提供fallback处理逻辑。fallback函数可以针对所有类型的异常(除了 exceptionsToIgnore 里面排除掉的异常类型)进行处理。函数要求:
    1. 返回类型与原方法一致
    2. 参数类型需要和原方法相匹配,Sentinel 1.6开始,也可在方法最后加 Throwable 类型的参数。
    3.默认需和原方法在同一个类中。若希望使用其他类的函数,可配置 fallbackClass ,并指定fallbackClass里面的方法。
    fallbackClass【1.6】存放fallback的类。对应的处理函数必须static修饰,否则无法解析,其他要求:同fallback。
    defaultFallback【1.6】用于通用的 fallback 逻辑。默认fallback函数可以针对所有类型的异常(除了 exceptionsToIgnore 里面排除掉的异常类型)进行处理。若同时配置了 fallback 和 defaultFallback,以fallback为准。函数要求:
    1. 返回类型与原方法一致
    2. 方法参数列表为空,或者有一个 Throwable 类型的参数。
    3. 默认需要和原方法在同一个类中。若希望使用其他类的函数,可配置 fallbackClass ,并指定 fallbackClass 里面的方法。
    exceptionsToIgnore【1.6】指定排除掉哪些异常。排除的异常不会计入异常统计,也不会进入fallback逻辑,而是原样抛出。
    exceptionsToTrace需要trace的异常Throwable

    TIPS
    >
    > - 1.6.0 之前的版本 fallback 函数只针对降级异常(DegradeException)进行处理,不能针对业务异常进行处理
    > - 若 blockHandler 和 fallback 都进行了配置,则被限流降级而抛出 BlockException 时只会进入 blockHandler 处理逻辑。若未配置 blockHandlerfallback 和 defaultFallback,则被限流降级时会将 BlockException 直接抛出
    > - 从 1.4.0 版本开始,注解方式定义资源支持自动统计业务异常,无需手动调用 Tracer.trace(ex) 来记录业务异常。Sentinel 1.4.0 以前的版本需要自行调用 Tracer.trace(ex) 来记录业务异常。

  • 相关阅读:
    等高度结构的顺序一致性
    开放式耳机怎么选,最适合佩戴的几款耳机推荐
    串口与协议-推荐阅读
    k8s 存储卷详解与动静部署详解
    【python手写算法】numpy实现简易神经网络和反向传播算法【1】
    [python 刷题] 49 Group Anagrams
    Go中的工作池:并发任务的优雅管理
    数字孪生智慧园区解决方案,可视化平台案例
    ffmpeg之 一张/多张图片合成视频
    IDEA连接hadoop hdfs
  • 原文地址:https://blog.csdn.net/wufaqidong1/article/details/125425260