利用容错 API 增强云原生应用的弹性
1. 云原生应用面临的挑战与容错需求
现代云原生应用通常由一组微服务构成,它们大多通过网络进行相互通信。用户期望这些应用始终可用,但在应用实例运行期间,可能会出现各种问题,如网络不可用、数据库服务响应过慢、应用突然爆火导致并发用户激增、Web 服务离线等。为了应对这些不可避免的意外情况,应用需要具备容错和弹性能力。
Eclipse MicroProfile 容错规范提供了一系列声明式 API 构造,可用于创建具有容错和弹性的现代云原生应用。这些构造包括回退(Fallback)、超时(Timeout)、重试策略(Retry)、断路器(Circuit Breaker)、异步(Asynchronous)和舱壁(Bulkhead)等。
2. 容错拦截器绑定
容错规范提供了多种拦截器绑定,可用于在应用中实现容错。这些拦截器绑定可以单独使用,也可以组合使用。由于该规范基于 Jakarta Interceptors 规范,因此可以直接与 CDI 豆一起使用,将现有的 CDI 服务转换为容错组件。
容错拦截器绑定涵盖以下方面:
- 回退(Fallback)
- 超时(Timeout)
- 重试策略(Retry)
- 断路器(Circuit Breaker)
- 异步(Asynchronous)
- 舱壁(Bulkhead)
3. 回退(Fallback)
@Fallback 拦截器绑定是一种方法级注解,当被注解的方法抛出异常时,它会告诉运行时回退到指定的方法。可以自定义触发回退的异
超级会员免费看
订阅专栏 解锁全文
1194

被折叠的 条评论
为什么被折叠?



