知识卡片
重启策略的设计取舍
内容
作业失败后如何重启是一个可配置的策略,而不是写死的行为:固定延时重启策略在两次重试之间固定等待一段时间,最多尝试有限次数,超过就彻底失败,适合偶发性故障;故障率重启策略统计单位时间内的故障次数,只要故障频率没有超过阈值就一直重试,能区分”偶尔抖一下”和”持续崩溃”两种情况,是更精细的容错策略;不重启策略直接放弃、让作业失败,适合希望故障立刻被人工介入而不是被自动掩盖的场景;兜底策略则是不显式配置、直接沿用集群级别的默认设置。这四种本质上是在”自动恢复的努力程度”和”故障及时暴露给人”之间做选择,选错了要么小故障被无限重试掩盖了真实问题,要么正常抖动被当成致命错误频繁打断服务。
参考来源
《Flink入门与实战》第4章《状态管理及容错机制》