20 lines
1.7 KiB
Markdown
20 lines
1.7 KiB
Markdown
# 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 记录;审计不可用时遵循明确的失败策略,但本票不创建独立审计表。
|
||
- [ ] 测试覆盖积压统计、阈值告警、最终失败、选择性重放、租约释放和越权/非法状态拒绝。
|
||
|