003-Resilience4j学习

Resilience4j 的 TimeLimiter 配置包括超时时间和是否取消异步任务。AOP执行顺序由 `Ordered` 接口的 `LOWEST_PRECEDENCE` 值决定,从高到低依次为 retry、circuitBreaker、rateLimiter、timeLimiter 和 bulkhead。事件处理在主线程中进行。tags 参数作为监控指标的额外标签使用。
摘要由CSDN通过智能技术生成

TimeLimiter

timeoutDuration : 默认 1s : 超时时间配置 (类型是 Duration)
cancelRunningFuture : 默认 true: 当 future.get 超时时候(TimeoutException),是否调用 future.cancel 取消异步任务

aop 时候 执行先后顺序说明

优先级列表

名称aop优先级(从高到底 (高的先执行))
retryAspectOrderOrdered.LOWEST_PRECEDENCE - 4
circuitBreakerAspectOrderOrdered.LOWEST_PRECEDENCE - 3
rateLimiterAspectOrderOrdered.LOWEST_PRECEDENCE - 2
timeLimiterAspectOrderOrdered.LOWEST_PRECEDENCE - 1
BulkheadAspectOrderOrdered.LOWEST_PRECEDENCE

spring 定义顺序值参考


public interface Ordered {
    int HIGHEST_PRECEDENCE = -2147483648;
    int LOWEST_PRECEDENCE = 2147483647;

    int getOrder();
}

事件 是在特定线程执行吗?

答案:

通过如下日志, 事件 在入口线程执行,而不是特定线程池执行。

demo执行日志(我测试 的是TimeLimiter 的事件)

0:53:57.863 [main] INFO com.cmic.ydrz.helloworld.resilience4j.Resilience4j1 - onSuccess:2021-07-29T00:53:57.861+08:00[Asia/Shanghai]: TimeLimiter 'myTimeLimiter' recorded a successful call.
00:53:57.868 [main] DEBUG io.github.resilience4j.timelimiter.internal.TimeLimiterImpl - Event SUCCESS published: 2021-07-29T00:53:57.861+08:00[Asia/Shanghai]: TimeLimiter 'myTimeLimiter' recorded a successful call.
00:53:58.871 [main] INFO com.cmic.ydrz.helloworld.resilience4j.Resilience4j1 - onTimeout:2021-07-29T00:53:58.871+08:00[Asia/Shanghai]: TimeLimiter 'myTimeLimiter' recorded a timeout exception.
00:53:58.872 [main] DEBUG io.github.resilience4j.timelimiter.internal.TimeLimiterImpl - Event TIMEOUT published: 2021-07-29T00:53:58.871+08:00[Asia/Shanghai]: TimeLimiter 'myTimeLimiter' recorded a timeout exception.

Tags 的作用

问题
我们 在 circuitBreaker 等几个功能类都能发现 tags 参数,作用是什么呢?

回答:
应该是当作 Metrics(监控指标) 的 一些 额外tags 参数使用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值