当前位置:网站首页>容错机制记录
容错机制记录
2022-07-25 11:21:00 【dengjili】
当我们使用某些功能的时候,有时候不一定会成功,那么我们将采取什么样的策略处理这种异常情况呢,下面我们通过例子说明

如上图所示,app2通过网络调用app1接口,app1是是由三台机器共同组成的集群
failfast快速故障
当系统发生错误,立即反馈错误
eg1:当app2携带错误Token访问app1接口时,app1立即反馈错误信息
failsafe故障安全
当系统发生错误,将故障在不会造成影响或尽量减少影响
eg1:当app2调用接口查询app1某些接口时,如查询IPhone 10终端手机的颜色,app1内部发生了异常,此时不反馈错误信息,而是返回“未知”信息。对于app2来说,并不会感知接口调用发生异常,会按照正常情况继续处理
failover故障切换
当系统发生错误,我们再对其他系统进行尝试
eg1:当app2调用接口查询app1某些接口时,首先调用接口的app1(192.168.1.100),若失败,我们再尝试app1(192.168.1.101)、app1(192.168.1.102);系统处理一个高可用状态,停止其中任意一台应用,系统也可以正常运行
failback故障自动恢复
当系统发生错误,应用程序对故障进行自我修复处理;如何理解这个自我修复过程
- 网络抖动问题,有时候网络可能会出现故障,导致程序调用出现一些异常,程序收到异常以后,可以等一下再重试调用接口,等多久以及尝试多少次,怎么控制就是一个自我修复的手段
- 流量降级问题,当网络出现访问量急剧增大时候,我们的系统资源不够用,我们可以直接反馈用户等下试试
eg1:当app2调用接口查询app1某些接口时发生错误,剩下间隔30s再重试,重试不超过3次
以上即是容错机制错误的几种处理方式
dubbo容错方案

Failover Cluster
失败自动切换,当出现失败,重试其它服务器。通常用于读操作,但重试会带来更长延迟。可通过 retries=“2” 来设置重试次数(不含第一次)。
Failfast Cluster
快速失败,只发起一次调用,失败立即报错。通常用于非幂等性的写操作,比如新增记录。
Failsafe Cluster
失败安全,出现异常时,直接忽略。通常用于写入审计日志等操作。
Failback Cluster
失败自动恢复,后台记录失败请求,定时重发。通常用于消息通知操作。
Forking Cluster
并行调用多个服务器,只要一个成功即返回。通常用于实时性要求较高的读操作,但需要浪费更多服务资源。可通过 forks=“2” 来设置最大并行数。
边栏推荐
- 【云驻共创】AI在数学界有哪些作用?未来对数学界会有哪些颠覆性影响?
- return 和 finally的执行顺序 ?各位大佬请看过来,
- 【GCN-RS】Are Graph Augmentations Necessary? Simple Graph Contrastive Learning for RS (SIGIR‘22)
- Video Caption(跨模态视频摘要/字幕生成)
- I advise those students who have just joined the work: if you want to enter the big factory, you must master these concurrent programming knowledge! Complete learning route!! (recommended Collection)
- Median (二分答案 + 二分查找)
- 创新突破!亚信科技助力中国移动某省完成核心账务数据库自主可控改造
- PHP curl post x-www-form-urlencoded
- 【多模态】《TransRec: Learning Transferable Recommendation from Mixture-of-Modality Feedback》 Arxiv‘22
- Introduction to pl/sql, very detailed notes
猜你喜欢

Transformer变体(Sparse Transformer,Longformer,Switch Transformer)

PHP curl post x-www-form-urlencoded

图神经网络用于推荐系统问题(IMP-GCN,LR-GCN)

LeetCode第303场周赛(20220724)

brpc源码解析(四)—— Bthread机制

【AI4Code】《Pythia: AI-assisted Code Completion System》(KDD 2019)

Differences in usage between tostring() and new string()

【无标题】

【AI4Code】《InferCode: Self-Supervised Learning of Code Representations by Predicting Subtrees》ICSE‘21

return 和 finally的执行顺序 ?各位大佬请看过来,
随机推荐
How to solve the problem of the error reported by the Flink SQL client when connecting to MySQL?
brpc源码解析(八)—— 基础类EventDispatcher详解
Return and finally? Everyone, please look over here,
JS 面试题:手写节流(throttle)函数
brpc源码解析(一)—— rpc服务添加以及服务器启动主要过程
【GCN-RS】Are Graph Augmentations Necessary? Simple Graph Contrastive Learning for RS (SIGIR‘22)
已解决 Files‘ name is invalid or does not exist (1205)
The applet image cannot display Base64 pictures. The solution is valid
GPT plus money (OpenAI CLIP,DALL-E)
Transformer变体(Sparse Transformer,Longformer,Switch Transformer)
浅谈低代码技术在物流管理中的应用与创新
【CTR】《Towards Universal Sequence Representation Learning for Recommender Systems》 (KDD‘22)
LeetCode第303场周赛(20220724)
氢能创业大赛 | 国家能源局科技司副司长刘亚芳:构建高质量创新体系是我国氢能产业发展的核心
【Debias】Model-Agnostic Counterfactual Reasoning for Eliminating Popularity Bias in RS(KDD‘21)
【GCN-RS】Learning Explicit User Interest Boundary for Recommendation (WWW‘22)
Introduction to pl/sql, very detailed notes
30 sets of Chinese style ppt/ creative ppt templates
[GCN multimodal RS] pre training representations of multi modal multi query e-commerce search KDD 2022
Intelligent information retrieval(智能信息检索综述)