org.apache.httpcomponents
fluent-hc
4.5.10
net.jodah
failsafe
2.3.1
fluent-hc用于构建http请求,failsafe用于定义安全失败重试, 所谓安全失败重试其实就是某一个任务失败了, 但是无关大碍,我们看见可以进行多次尝试, 比如一些连接失败等等。。。
可以配置拦截到的异常, 延时重试, 尝试次数
private final RetryPolicy retryPolicy = new RetryPolicy<>()
//如果获得这个异常,则执行重试
.handle(SocketTimeoutException.class)
//延迟俩秒
.withDelay(Duration.ofSeconds(2))
//最多尝试俩次
.withMaxRetries(2);
拓展知识
1.failover:失效转移
Fail-Over的含义为“失效转移”,是一种备份操作模式,当主要组件异常时,其功能转移到备份组件。其要点在于有主有备,且主故障时备可启用,并设置为主。如Mysql的双Master模式,当正在使用的Master出现故障时,可以拿备Master做主使用
2.failfast:快速失败
从字面含义看就是“快速失败”