1.7 KiB
1.7 KiB
04 — 提供 Outbox 监控和受控恢复能力
What to build: 运维人员可以查看 Outbox 待投递量、最老积压、处理中和过期租约、成功率、重试分布、最终失败及按事件类型聚合的状态,并能对明确选择的失败或滞留事件执行受控重放或租约释放。恢复操作保留原事件内容和身份,并通过统一审计接缝记录操作者与原因。
Blocked by: 03 — 完成 Outbox 到 Asynq 的至少一次投递闭环
Status: ready-for-agent
架构通道: 主通道为 Query,辅助通道为 Infrastructure。
完整业务边界: 本票收口 Outbox 运行状态查询、指标、告警和受控恢复用例。明确不实现 Audit Event 模型或查询,不删除 Outbox,不修改已投递事件内容,不跳过消费者幂等检查。
- 查询和指标覆盖待投递量、最老待投递年龄、处理中、过期租约、成功率、重试分布、最终失败和按事件类型的积压。
- 日志、指标和告警使用事件 ID、关联 ID 与安全资源标识串联,不把完整载荷或敏感值作为日志字段或指标标签。
- 受控重放只接受明确选择的失败或滞留事件,保留原事件 ID、载荷和关联标识,并记录操作者、原因和恢复批次。
- 租约释放只作用于符合状态与过期条件的事件,不能越过当前租约所有者直接修改正在有效处理的事件。
- 人工恢复通过统一审计 Port 记录;审计不可用时遵循明确的失败策略,但本票不创建独立审计表。
- 测试覆盖积压统计、阈值告警、最终失败、选择性重放、租约释放和越权/非法状态拒绝。