SMTP 重试退避(Backoff,RFC 5321 §4.5.4.1)如何工作?为何要指数退避?
1
SMTP 重试退避(Backoff,RFC 5321 §4.5.4.1)如何工作?为何要指数退避?
▼
定义
当投递遇临时失败(4xx 或连接超时),MTA 把邮件留在队列并按“重试间隔”重投。RFC 5321 建议采用递增(指数)退避而非固定频密重试。
指数退避
第一次失败 30 分钟后重试,之后 1 小时、2 小时、4 小时……间隔翻倍,避免对“暂时不可用”的对方造成雪崩式重试(thundering herd),也省自身资源。
上限
建议至少持续重试 4–5 天(常见 2–7 天)才放弃转退信;期间若对方恢复(如维护结束)能自动补投,平衡“不丢信”与“不占队列”。
配合
退避与速率限制、队列管理联动:延迟邮件按退避调度,避免与正常新信争抢连接。
参考:RFC 5321 §4.5.4.1(重试间隔与退避建议);RFC 3463/3464(DSN)
