2.2. MicroProfile Fault Tolerance


2.2.1. 关于 MicroProfile 容错规范

MicroProfile Fault Tolerance 规范定义了处理分布式微服务中固有的错误的策略。

MicroProfile Fault Tolerance 规范定义了以下策略来处理错误:

Timeout(超时)
定义执行完成的时间长度。定义超时可防止无限期等待执行。
Retry
定义重试失败的执行的条件。
fallback
在执行失败时提供替代方案。
CircuitBreaker
定义在临时停止前失败的执行尝试次数。您可以在恢复执行前定义延迟的长度。
bulkhead
在系统的一部分隔离故障,以便系统的其余部分仍然可以正常工作。
asynchronous
在单独的线程中执行客户端请求。

2.2.2. JBoss EAP 中的 MicroProfile Fault Tolerance

microprofile-fault-tolerance-smallrye 子系统为 JBoss EAP 中的 MicroProfile Fault Tolerance 提供支持。子系统仅在 JBoss EAP XP 流中可用。

microprofile-fault-tolerance-smallrye 子系统为拦截器绑定提供以下注释:

  • @timeout
  • @retry
  • @Fallback
  • @CircuitBreaker
  • @Bulkhead
  • @Asynchronous

您可以在类级别或方法级别上绑定这些注解。绑定到某个类的注解适用于该类的所有业务方法。

以下规则适用于绑定拦截器:

  • 如果组件类声明或继承类级拦截器绑定,则有以下限制:

    • 不得声明最终的类。
    • 类不得包含任何静态、私有或最终方法。
  • 如果一个非静态的、组件类的非私有方法声明方法级别拦截器绑定,则方法和组件类都不能声明最终声明。

容错操作有以下限制:

  • 容错拦截器绑定必须应用到 bean 类或 bean 类方法。
  • 调用时,调用必须是 Jakarta 上下文和依赖注入规范中定义的业务方法调用。
  • 如果这两个条件都满足,则操作不被视为容错:

    • 该方法本身不绑定到任何容错拦截器。
    • 包含方法的类不绑定到任何容错拦截器。

除了 MicroProfile Fault Tolerance 提供的配置选项外,microprofile-fault-tolerance-smallrye 子系统还提供以下配置选项:

  • io.smallrye.faulttolerance.mainThreadPoolSize
  • io.smallrye.faulttolerance.mainThreadPoolQueueSize
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2026 Red Hat
返回顶部