当前位置: 首页 > article >正文

孤舟笔记 互联网常用框架篇二 Dubbo服务请求失败怎么处理?集群容错策略你用过几种

文章目录先说结论Failover换家店试试Failfast不行就算了Failsafe忘了这事Failback回头再说Forking同时点几家Broadcast通知所有人怎么选择回答技巧与点评加分回答面试官点评个人网站分布式系统中服务调用失败是家常便饭——网络抖动、服务重启、机房故障……问题不是会不会失败而是失败了怎么办。Dubbo 提供了多种集群容错策略面试官问这题他想听的是每种策略的原理是什么适用什么场景你项目里用的哪种先说结论策略行为适用场景Failover失败自动切换其他提供者重试读操作默认Failfast失败立即报错非幂等写操作Failsafe失败忽略返回空结果日志等非关键操作Failback失败自动记录定时重发消息通知等最终一致场景Forking并行调用多个取最快返回实时性要求高的读操作Broadcast逐个调用所有提供者通知所有节点更新缓存一句话记住Failover 是换家店试试Failfast 是不行就算了Failsafe 是忘了这事Failback 是回头再说Failover换家店试试默认策略。调用失败后自动切换到其他提供者重试。默认重试 2 次共调用 3 次。DubboReference(retries2)// 失败重试 2 次总共调用 3 次privateUserServiceuserService;dubbo:consumer:retries:2# 全局默认重试次数就像你去餐厅点菜第一家说售完了你自动换第二家点——总有一家能做。注意重试会带来延迟每次超时等一段时间也可能导致重复写入如果是写操作。所以 Failover只适合读操作写操作必须用 Failfast。Failfast不行就算了只调用一次失败立即报错不重试。DubboReference(clusterfailfast)// 失败直接抛异常privateOrderServiceorderService;适合非幂等写操作——创建订单、扣款等。重试可能导致重复下单比失败更可怕。就像医院挂号——挂不上就挂不上你不能自动换家医院挂号因为可能挂重了。Failsafe忘了这事调用失败时忽略异常返回空结果。DubboReference(clusterfailsafe)privateLogServicelogService;适合非关键操作——写日志、发通知、更新缓存等。失败了不影响主流程。就像你在饭馆吃饭服务员忘了送小菜——无所谓不影响吃主菜。Failback回头再说调用失败时记录请求到失败队列定时重发。DubboReference(clusterfailback)privateNotificationServicenotificationService;适合最终一致性场景——消息通知、数据同步等。失败了不急着重试后台慢慢补。就像快递送不到——先放快递柜回头再来取。Dubbo 默认每 5 秒重试一次失败记录。注意如果失败请求堆积太多可能导致内存溢出。生产环境需监控失败队列长度。Forking同时点几家同时调用多个提供者取最快返回的那个。DubboReference(clusterforking,forks3)// 并行调用 3 个privateSearchServicesearchService;适合实时性要求高的读操作——搜索引擎、推荐系统等。不追求所有结果谁最快用谁。就像你同时叫了 3 辆出租车谁先到坐谁——快就是正义。注意并行调用会浪费服务器资源3 次调用只有 1 次有效forks 数量不宜过大。Broadcast通知所有人逐个调用所有提供者任意一个报错则报错。DubboReference(clusterbroadcast)privateCacheServicecacheService;适合通知所有节点的场景——更新缓存、刷新配置等。每个节点都得通知到。就像公司广播——通知所有部门开会不能漏掉任何一个。怎么选择操作类型推荐策略原因读操作Failover天然幂等重试安全写操作非幂等Failfast避免重复写入非关键操作Failsafe失败不影响主流程消息通知Failback最终一致即可实时性要求高Forking并行取最快全节点通知Broadcast每个都得通知Dubbo 集群容错全景 六种策略 ├── Failover —— 失败重试默认适合读 ├── Failfast —— 快速失败适合非幂等写 ├── Failsafe —— 安全失败适合非关键操作 ├── Failback —— 失败重发适合最终一致 ├── Forking —— 并行调用适合实时读 └── Broadcast —— 广播调用适合全节点通知 选择原则 ├── 读操作 → Failover ├── 写操作 → Failfast ├── 非关键 → Failsafe ├── 通知类 → Failback / Broadcast └── 实时性 → Forking 核心风险 ├── Failover 重试导致写重复 ├── Failback 失败队列堆积 └── Forking 并行浪费资源 口诀Failover换家试Failfast直接报 Failsafe无所谓Failback回头搞 Forking并行跑Broadcast全员到 读写区分最关键幂等重试才安全回答技巧与点评标准回答Dubbo 提供 6 种集群容错策略Failover失败自动重试默认适合读操作、Failfast快速失败适合非幂等写操作、Failsafe忽略异常适合非关键操作、Failback失败定时重发适合最终一致场景、Forking并行调用取最快适合实时读、Broadcast广播调用所有节点适合通知类操作。选择的关键在于区分读写操作和幂等性。加分回答幂等性是重试的前提Failover 重试意味着同一请求可能被多次执行只有读操作和幂等写操作才能安全重试。非幂等写操作如下单、扣款必须用 Failfastretries 的计算retries2 表示失败后重试 2 次总共调用 3 次1 次正常 2 次重试。超时时间要合理设置避免重试导致响应时间成倍增加自定义容错策略Dubbo 通过 SPI 机制支持自定义 Cluster 实现你可以根据业务需求实现自己的容错逻辑比如失败后降级到缓存的混合策略面试官点评这道题考的是你对分布式容错设计的理解。能说出 3-4 种策略算及格高分的关键在于讲清楚每种策略的适用场景和风险特别是 Failover 重试可能导致写重复的问题。如果你能提到幂等性是重试的前提说明你有实战经验。原文阅读内容有帮助点赞、收藏、关注三连评论区等你

相关文章:

孤舟笔记 互联网常用框架篇二 Dubbo服务请求失败怎么处理?集群容错策略你用过几种

文章目录先说结论Failover:换家店试试Failfast:不行就算了Failsafe:忘了这事Failback:回头再说Forking:同时点几家Broadcast:通知所有人怎么选择回答技巧与点评加分回答面试官点评个人网站分布式系统中&…...

Windows文件夹共享

目标:同一局域网实现在一台计算机上共享文件夹,在另一台电脑访问一、电脑A 1.点击要共享的文件夹 -> 属性 -> 共享2.添加Everyone用户组3.控制面板中网络共享关闭密码保存,在访问时不用输入账号密码。二、电脑B 1.在文件资源管理器路径…...

碧蓝航线自动化脚本终极指南:3小时学会全自动游戏管理

碧蓝航线自动化脚本终极指南:3小时学会全自动游戏管理 【免费下载链接】AzurLaneAutoScript Azur Lane bot (CN/EN/JP/TW) 碧蓝航线脚本 | 无缝委托科研,全自动大世界 项目地址: https://gitcode.com/gh_mirrors/az/AzurLaneAutoScript 还在为碧蓝…...

关于psthon问题

我想问问各位 我python可以查到 但是我的bit文件查不到python怎么回事...

可解释AI新突破:基于局部帕累托最优的模型解释框架

1. 项目概述:当AI模型成为“黑箱”,我们如何撬开它?在机器学习项目里摸爬滚打十几年,我见过太多这样的场景:团队花大力气训练出一个准确率高达95%的复杂模型(比如深度神经网络),业务…...

告别数据饥荒:用PyTorch手把手实现原型网络(Prototypical Networks)做电影评论情感分类

告别数据饥荒:用PyTorch手把手实现原型网络做电影评论情感分类 在自然语言处理领域,情感分析一直是热门研究方向,但现实中的开发者常面临一个尴尬困境:标注数据太少。传统深度学习方法动辄需要成千上万的标注样本,而实…...

【深度解析】AI Coding 模型竞速:从 Claude Mythos 安全编码到 GPT-5.6 传闻,如何落地代码审查智能体

摘要 AI 编码模型正在从“代码补全”进入“复杂代码库理解、漏洞发现与自动修复”阶段。本文结合 Claude Mythos、Claude Opus 4.8 与 GPT-5.6 相关信息,解析新一代 Coding Agent 的技术趋势,并给出基于大模型 API 的代码安全审查实战方案。背景介绍&…...

别被忽悠了!2026亲测靠谱的AI论文网站|避坑精选版

2026 年学术写作工具已高度分化,千笔AI与ThouPen为全流程首选,豆包、DeepSeek 为专项强手;避坑关键:拒绝假文献、严控 AIGC 率、优先国内适配、免费试用先行。 一、TOP3 全流程首选(亲测不踩雷) 1. 千笔AI&…...

HDI 高密度互连板阶数的深度理解

一、概述高密度互连板(High Density Interconnector, HDI)是通过激光微孔技术和逐层积层工艺实现高密度布线的印制电路板。其阶数划分是行业内统一的技术标准,核心依据为独立积层压合次数与配套激光盲孔制程次数,而非单面层数或钻…...

打不开JupyterLab

因为安装某些依赖导致JupyterLab的依赖被动升级或降级,从而影响了JupyterLab的运行,此时可以SSH登录到实例,然后输入jupyter-lab命令进行确认,如果执行命令报错则说明是此问题,那么可以通过pip install jupyterlab再次…...

2026年一键生成论文工具对比实测:5款神器从选题到格式全流程护航

写论文的焦虑,是每个科研人和学生都心照不宣的“隐形压力”。选题无从下手,文献检索耗时费力,逻辑框架反复推翻,格式排版让人抓狂,查重降重更是像在和系统玩“猫鼠游戏”。2026年的AI工具早已不是过去那种“打字机”&a…...

AI学习 - 大模型基础入门

AI学习 - 大模型基础入门 从零开始:Ollama 安装 → 本地模型运行 → Python 代码接入 → 理解核心概念 摘要 本文记录了在 Windows 上使用 Ollama 部署本地大模型、并通过 Python 代码接入调用的完整过程。内容涵盖:Ollama 安装与模型拉取、大模型基础概…...

科华UPS电源全品类汇总:选型与场景适配指南

科华UPS电源作为国内智慧电能领域的主流产品,覆盖家用、办公、机房、工业等全场景,产品系列丰富、规格齐全,但多数用户在选型时,常因分不清系列差异、功率适配、架构类型而踩坑。本文系统汇总科华UPS电源的核心分类、主流系列、核…...

Mysql:事务管理(中)

在前面的章节中,我们提到了 MVCC(多版本并发控制),它巧妙地通过“版本快照”解决了“读-写”冲突,实现了非阻塞读。但如果两个事务同时执行 UPDATE 操作修改同一行数据,即 写-写(Write-Write&am…...

MongoDB Limit 与 Skip 方法详解

MongoDB Limit 与 Skip 方法详解 引言 MongoDB 是一个高性能、可伸缩的文档存储系统,它提供了强大的数据存储和查询功能。在处理大量数据时,Limit 与 Skip 方法是 MongoDB 中常用的查询优化工具。本文将详细介绍 MongoDB 中的 Limit 与 Skip 方法,包括其基本用法、性能影响…...

XML 服务器

XML 服务器 引言 XML(可扩展标记语言)服务器在现代互联网技术中扮演着至关重要的角色。它为数据的传输和处理提供了灵活且高效的方式。本文将深入探讨XML服务器的概念、工作原理、应用场景及其在软件开发中的重要性。 什么是XML服务器? XML服务器是一种用于存储、处理和…...

人类防伪指南:为什么你越写错字,HR越信你是真人?

前言各位码农、算法侠、CtrlC/V十级学者请注意:你有没有过这样的经历?辛辛苦苦肝了一晚上文档,逻辑严密、语法丝滑、连Markdown都对齐得像军训方阵,结果老板幽幽来一句:“这真是你自己写的?”那一刻&#x…...

skills CANN开源社区贡献技能包开发指南

前言 开源社区的健康运转,不仅依赖核心代码的贡献,还需要降低贡献门槛、提供清晰的指南和自动化工具。skills仓库是CANN开源社区的"贡献技能包",提供了一系列辅助脚本、代码模板、CI检查和文档生成工具,帮助新手快速上…...

AI算力要上天?别笑,太空数据中心真能干翻地球电费!

前言你有没有算过,训练一个大模型,相当于烧掉多少吨煤?如今AI狂飙突进,算力需求指数级增长,可地球上的电——不够用了!更别说建个数据中心还得跟地方政府“斗智斗勇”,抢地皮、配储能、扛审批&a…...

巧用对称性与平均值原理:低成本实现高精度电阻分压器校准

1. 项目概述:用数学思维突破测量设备的精度极限在电子实验室里捣鼓精密电路,尤其是涉及到电压基准、信号调理或者高精度ADC前端时,一个绕不开的坎就是精密分压器。你可能在设计一个需要0.1%甚至更高精度的分压网络,但手头的万用表…...

大佬推荐的网络安全学习路线(从基础到高级,超级详细)

大佬推荐的网络安全学习路线(从基础到高级,超级详细) 说起网络安全,你可能会担心它是一个过时的行业。有人说,网络安全快卷死了,你既要攻又要防,并且随着技术的发展,你还要不断地学…...

广州因特智能:AI视觉软硬结合,打破半导体检测装备“卡脖子”困境

【导语:广州因特智能科技孵化于西安电子科技大学广州研究院,专注用AI视觉技术解决工业场景的“卡脖子”检测难题,为半导体、光通信、新能源三大领域提供高端检测装备。】校地合作孵化,构建完整能力体系广州因特智能科技由西安电子…...

AI圈神秘领袖Ilya一幅画引爆全网,OpenAI三件大事暗示AGI时代将至?

AI圈神秘精神领袖Ilya在Instagram上传一幅画引发疯狂解读,与此同时,OpenAI连续公布数学成果、升级Codex、筹备IPO,释放AGI到来的强烈信号。Ilya画作引猜测Ilya上传的画中,罗丹的「思考者」踩在芯片Die Shot上,右下角签…...

股票买卖最佳时机:LeetCode121题解

题目LeetCode121给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。你只能选择 某一天 买入这只股票,并选择在 未来的某一个不同的日子 卖出该股票。设计一个算法来计算你所能获取的最大利润。返回你可以从这笔交易中获取…...

【紧急预警】Lindy衰减临界点已提前至第8.3个月!2024最新《营销自动化寿命健康度白皮书》限时开放前500份

更多请点击: https://kaifayun.com 第一章:Lindy衰减临界点的理论重构与实证突破 Lindy效应传统上描述“越老越长寿”的非线性生存规律,但其在现代软件系统、开源生态与协议层技术栈中的适用边界正遭遇结构性挑战。本文首次将Lindy模型从静…...

ssm207基于SSM的视频播放系统的设计与实现+vue(文档+源码)_kaic

第五章 系统的实现5.1 用户功能模块的实现5.1.1系统主界面用户进入本系统可查看系统信息,系统主界面展示如图5.1所示。图5.1网站主界面5.1.2视频详情界面用户可选择视频查看视频详情信息,并可进行视频播放操作,视频详情界面展示如图5.2所示。…...

GEO生成引擎优化:当AI成为信息分发的主角,品牌如何抢占对话窗口?

当用户不再"搜索-浏览",而是直接"AI提问-获取答案",传统SEO的逻辑正在被彻底改写。2026年,GEO(Generative Engine Optimization,生成式引擎优化)已经从概念走向规模化落地。本文从技术…...

2026长沙智能家居品牌实测,这些本地老牌值得选

2026年,长沙的智能家居市场已经从“概念热”转向“落地战”。我走访了长沙多个本地服务商,实测了不同品牌在别墅、酒店、大平层等场景的真实表现。今天,结合数据与案例,分享几个值得关注的本地品牌,尤其是深耕8年以上的…...

翻译 GDB 官方文档

翻译 GDB 官方文档项目地址官方文档地址下载源码包编译html运行翻译程序项目地址 https://github.com/shootercheng/gdb-translate.git 项目结构 $ tree -L 1 . ├── cmd ├── go.mod ├── input ├── internal ├── LICENSE ├── output ├── README.md ├─…...

网络配置工具类详解

CNet 网络配置工具类详解平台:仅支持 Linux,大量使用 ioctl 系统调用一、概述 CNet 是一个 纯静态方法的网络配置工具类,封装了 Linux 下常用的网络操作:功能类别涵盖内容IP 地址读取/设置本机 IP、子网掩码网关读取/添加/删除/设…...