背景
PR #4431 为 Monitor → 告警中心生命周期副本增加 receiver-first 逐事件 ACK、影子 outbox 和持久化投递能力。代码默认保持旧链路,生产启用需要按顺序分阶段执行,不能在接收端尚未兼容时直接开启发送。
部署步骤
- 先部署 receiver,并配置双方一致的
ALERTS_PER_EVENT_ACK_TOKEN;保持 Monitor 三个开关关闭。
- 验证旧 NATS payload 与
per_event_v1 均可被接收,duplicate 为成功终态,rejected/errored 可重试。
- 开启
MONITOR_ALERT_CENTER_OUTBOX_ENABLED=true 进入 shadow:继续由旧链路发送,同时观察存量有界回填、pending 数量和逐渠道对账。
- shadow 稳定后开启
MONITOR_ALERT_CENTER_OUTBOX_DELIVERY_ENABLED=true,由 outbox 独占告警中心投递;普通通知渠道继续走旧链路。
- 确认 created/upgraded/recovered/closed 顺序、逐渠道 ACK、重试耗尽告警和存量回填均符合预期。
回滚
- 关闭
MONITOR_ALERT_CENTER_OUTBOX_DELIVERY_ENABLED 可恢复 legacy 实发;保留 outbox 表中的 pending 记录。
- 需要完全回滚生产端时再关闭
MONITOR_ALERT_CENTER_OUTBOX_ENABLED;不要删除或清空 pending 数据。
验收
- 多渠道中任一渠道失败时,告警不会被整体标记为已同步。
- capability RPC 或 receiver 暂时不可用不会回滚领域告警状态,后续补偿可继续收敛。
- 存量终态告警按渠道补齐缺失的 created 前驱,不越过失败代次。
关联:#3341、#4431。
背景
PR #4431 为 Monitor → 告警中心生命周期副本增加 receiver-first 逐事件 ACK、影子 outbox 和持久化投递能力。代码默认保持旧链路,生产启用需要按顺序分阶段执行,不能在接收端尚未兼容时直接开启发送。
部署步骤
ALERTS_PER_EVENT_ACK_TOKEN;保持 Monitor 三个开关关闭。per_event_v1均可被接收,duplicate 为成功终态,rejected/errored 可重试。MONITOR_ALERT_CENTER_OUTBOX_ENABLED=true进入 shadow:继续由旧链路发送,同时观察存量有界回填、pending 数量和逐渠道对账。MONITOR_ALERT_CENTER_OUTBOX_DELIVERY_ENABLED=true,由 outbox 独占告警中心投递;普通通知渠道继续走旧链路。回滚
MONITOR_ALERT_CENTER_OUTBOX_DELIVERY_ENABLED可恢复 legacy 实发;保留 outbox 表中的 pending 记录。MONITOR_ALERT_CENTER_OUTBOX_ENABLED;不要删除或清空 pending 数据。验收
关联:#3341、#4431。