抢占与延时的分工
抢占决定「原主设备恢复后要不要把角色拿回来」,延时决定「拿回角色之前等多久」。关闭抢占时,原主恢复后会长期保持备角色,业务一直跑在备机上;开启抢占但不配延时,链路一次瞬时闪断就可能让两台设备来回迁移角色。常见做法是开启抢占并配上足够长的延时,让瞬时抖动无法触发角色迁移。
基本信息
| 抢占作用 | 优先级恢复后主设备重新成为工作角色 |
|---|---|
| 延时作用 | 等待一段时间再抢占,过滤瞬时抖动 |
| 延时建议 | 按业务切断容忍度设置,常见 30 秒以上 |
| 关闭抢占 | 原主恢复后长期保持备角色,不再夺回 |
| 风险场景 | 链路闪断、心跳抖动、设备重启后同时竞争 |
| 记录要求 | 抢占开关与延时值写入配置文档 |
典型使用场景
- 心跳链路质量一般,担心角色频繁迁移
- 设备重启恢复后希望自动回到规划的主备关系
- 长连接业务多,角色迁移带来的代价较高
- 排查「角色来回切换」问题时确认抢占配置
- 演练中验证抢占行为与延时时长是否合适
配置组合的关注现象
配置组合的关注现象
关闭抢占:原主恢复后长期保持备角色 # 不夺回
开启无延时:链路瞬时闪断引起来回切换,业务反复中断 # 角色震荡
开启加长延时:抖动被过滤,角色迁移一次完成 # 推荐做法配置组合与效果
| 配置组合 | 行为 | 适用情况 |
|---|---|---|
| 关闭抢占 | 恢复后不夺回角色 | 追求稳定,不介意主备与规划不一致 |
| 开启无延时 | 立即夺回,容易震荡 | 链路质量好且可容忍短切换 |
| 开启加长延时 | 过滤抖动后夺回 | 多数生产环境的推荐做法 |
抢占与延时是一组配置:只配其一都可能带来次生问题,要么长期不夺回,要么频繁震荡。
延时设置过短等于没配:链路抖动场景下角色仍会反复迁移,长连接业务跟着反复中断。