【每日鲜蘑】Quarkus的容错处理🔥

2,015 阅读1分钟

这也是属于 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可以提高应用程序的弹性,而不会影响我们业务逻辑的复杂性。