消息记录中表设计的精髓所在
消息记录表结构详解:支撑12跳升级链路的数据基础
回顾之前讲解的升级过程:一次完整的升级需要12跳(从"①视频+日"到"⑫父级分类+年"),每一跳都要发送消息到 Kafka 并消费。为了保障这12跳的可追踪、可恢复、可对账,系统设计了4张表来全方位记录这个过程。
表结构概览:双向记录 + 业务快照
这4张表构成"2+2"的结构:
表名 | 作用 | 记录内容 |
---|---|---|
d_message_producer_record | 消息发送主表 | 每次发送消息的核心信息:链路ID、消息ID、内容、状态、时间 |
d_video_business_message_producer_record | 发送业务快照表 | 每次发送时的业务维度与时间维度快照 |
d_message_consumer_record | 消息消费主表 | 每次消费消息的核心信息:链路ID、消息ID、内容、状态、次数、时间 |
d_video_business_message_consumer_record | 消费业务快照表 | 每次消费时的业务维度与时间维度快照 |
设计理念
- 主表:记录消息的生命周期(发送→消费)、状态流转、异常信息。
- 快照表:记录每一跳在"二维网格"中的位置(业务维度 + 时间维度),用于还原升级路径。