快速失败与失败安全简述

简介: 快速失败与失败安全简述

先摆概念:系统运行中,如果有错误发生,那么系统立即结束,这种设计就是快速失败(fail-fast)。系统运行中,如果有错误发生,系统不会停止运行,它忽略错误(但是会有地方记录下来),继续运行,这种设计就是失败安全(fail-safe)。


以dubbo为例,在dubbo中,有一个AbstractClusterInvoker,其中有两个实现类FailfastClusterInvoker和FailsafeClusterInvoker


在dubbo的配置中,有一个cluster的属性,里面可以填“failfast”和“failsafe”,分别会在异常发生的时候执行FailfastClusterInvoker和FailsafeClusterInvoker。


看下这两个实现类之间的源码区别:


我们可以看到,在failfast的实现类中,如果发生了异常,会立即把它抛出去。

而在failsafe的实现类中,还是会返回一个空结果给调用方,然后打印错误日志,使得在异常发生的时候,程序不会终止,会继续执行下去。

对于快速失败和失败安全其实更多的是用在了集合中。

目录
相关文章
|
6月前
|
移动开发 API Android开发
mPaaS常见问题之初始化异常如何解决
mPaaS(移动平台即服务,Mobile Platform as a Service)是阿里巴巴集团提供的一套移动开发解决方案,它包含了一系列移动开发、测试、监控和运营的工具和服务。以下是mPaaS常见问题的汇总,旨在帮助开发者和企业用户解决在使用mPaaS产品过程中遇到的各种挑战
117 0
|
4月前
|
监控 网络协议 数据安全/隐私保护
​邮件发送失败DMARC报错问题排查解决有什么理想方法
在邮件营销中,DMARC(域消息验证)报错常见。DMARC基于SPF和DKIM,指定如何处理未认证邮件。排查DMARC问题需检查SPF记录,验证DKIM签名,配置DMARC策略,使用AOKSend发送测试邮件。理想的解决方法包括:定期更新DNS记录,使用专业邮件服务如AOKSend简化配置,监控DMARC报告,逐步加强DMARC策略,并对员工进行培训。这将提高邮件发送成功率和安全性。
|
4月前
|
Windows
错误代码 -2147136892如何解决
错误代码 -2147136892如何解决
33 0
|
6月前
|
存储 Android开发 iOS开发
审核多次失败总结以及设计上避免被拒绝
审核多次失败总结以及设计上避免被拒绝
63 0
|
6月前
|
缓存 监控 NoSQL
函数计算常见问题之提示文件错误如何解决
函数计算(Function Compute, FC)是阿里云提供的无服务器计算服务,它允许用户在无需管理服务器的情况下运行代码,但在配置和执行过程中可能遇到报错,本合集致力于梳理FC服务中的常见报错和配置问题,并提供解决方案,帮助用户优化函数执行环境。
136 0
函数计算常见问题之提示文件错误如何解决
|
6月前
|
测试技术 Serverless iOS开发
PTS接口问题之执行请求失败如何解决
PTS(Performance Testing Service)是一项面向网站、应用等提供的压力测试服务,用于模拟不同场景下的用户访问,评估系统的性能表现;在进行PTS压测时,可能会出现一些异常或报错,本合集将PTS压测中频繁出现的问题及其解决办法进行汇编,旨在帮助用户更有效地进行性能测试和问题定位。
|
开发框架 Oracle 关系型数据库
关于vs2008使用oracleclient链接oracle数据库报报错OCIEnvCreate 失败,返回代码为 -1,但错误消息文本不可用
用vs2008链接oracle数据库出现问题,报错OCIEnvCreate 失败,返回代码为 -1,但错误消息文本不可用,从网上找了好久方法,有两种oracle客户端文件权限,和运行vs2008以管理员身份,这些都试过了没有用,查了好久还是没有解决问题,只好换一种方式链接oracle数据了。
392 0
|
测试技术
R问题|代码报错如何解决?
R问题|代码报错如何解决?
286 0
获取服务插件失败,请问这个怎么解决
获取服务插件失败,请问这个怎么解决
|
JSON 监控 JavaScript
IE8:由于出现错误 80020101 而导致此项操作无法完成...........
IE8:由于出现错误 80020101 而导致此项操作无法完成...........
410 0