Skip to content

部署:分阶段启用 Monitor 告警中心 outbox #4752

Description

@zhouzhuangjie

背景

PR #4431 为 Monitor → 告警中心生命周期副本增加 receiver-first 逐事件 ACK、影子 outbox 和持久化投递能力。代码默认保持旧链路,生产启用需要按顺序分阶段执行,不能在接收端尚未兼容时直接开启发送。

部署步骤

  1. 先部署 receiver,并配置双方一致的 ALERTS_PER_EVENT_ACK_TOKEN;保持 Monitor 三个开关关闭。
  2. 验证旧 NATS payload 与 per_event_v1 均可被接收,duplicate 为成功终态,rejected/errored 可重试。
  3. 开启 MONITOR_ALERT_CENTER_OUTBOX_ENABLED=true 进入 shadow:继续由旧链路发送,同时观察存量有界回填、pending 数量和逐渠道对账。
  4. shadow 稳定后开启 MONITOR_ALERT_CENTER_OUTBOX_DELIVERY_ENABLED=true,由 outbox 独占告警中心投递;普通通知渠道继续走旧链路。
  5. 确认 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

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions