高并发系统设计-重试
高并发系统设计-重试 一、概述 1.1 什么是重试 重试(Retry)是指: 当一次请求失败后,在满足条件的情况下再次发起请求,以提高成功率。 例如: 请求 → 失败 → 再请求 → 成功 1.2 为什么需要重试 在分布式系统中,失败是常态: 网络抖动 RPC短暂超时 Redis瞬时不可用 MySQL连接波动 依赖服务重启 例如: 请求支付服务 → 超时 但实际服务是正常的 如果不重试:用户支付失败 但如果允许重试: 第一次失败 第二次成功 1.3 重试解决的问题 重试主要解决: 1. 短暂故障 如: 网络抖动 服务瞬断 连接超时 2.依赖服务不稳定 如: 第三方支付 / 短信 / API 3.提高成功率 1.4 重试的误区 错误做法 : 失败 → 立即重试 → 再失败 → 无限循环 正确做法是:可控重试 + 退避策略 + 最大次数限制 二、原理 2.1 重试的核心思想 重试本质是: 用时间换成功率 但前提是:...