这也是属于
Eclipse MicroProfile
的一部分。 主要是做容错处理的。
<dependency>
<groupId>io.quarkus</groupId>
<artifactId>quarkus-smallrye-fault-tolerance</artifactId>
</dependency>
应用场景
- 自动重试机制
- 设置超时时间
- 设置断路器
重试机制
@Retry(maxRetries = 4, retryOn = RuntimeException.class)
public String dosomething(){...}
超时时间
@Timeout(250)
public String dosomething(){...}
降级处理
@Fallback(fallbackMethod = "fallbackRecommendations")
public String dosomething(int id){...}
// 当 dosomething 执行失败时,执行 fallbackRecommendations 并返回结果
public String fallbackRecommendations(int id){...}
断路器
@CircuitBreaker(requestVolumeThreshold = 4)
public String dosomething(int id){...}
总结
MicroProfile Fault Tolerance
可以提高应用程序的弹性,而不会影响我们业务逻辑的复杂性。