2.2. MicroProfile Fault Tolerance


2.2.1. 关于 MicroProfile Fault Tolerance 规范

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

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

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

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-smallrye 子系统还提供以下配置选项,以及 MicroProfile Fault Tolerance 提供的配置选项:

  • io.smallrye.faulttolerance.mainThreadPoolSize
  • io.smallrye.faulttolerance.mainThreadPoolQueueSize
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat