架构实战营 - 模块 8- 作业
作业:设计消息队列存储消息数据的 MySQL 表格 【作业要求】
1. 包括表名、字段、索引;
2. 用文字描述设计思路和理由,例如:为什么设计某个索引?
3. 一页 PPT 即可。
【提示】
1. 需要考虑每个消息队列一张表,还是所有消息放一张表,里面加一个“队列名称”的字段
每个消息队列对应一张 MySQL 表,消息队列名就是表名,表结构设计为
设计思路:
id:物理主键
message_id:业务上的唯一 ID,与物理主键隔离,也有利于分库分表
message_type:消息类型,业务上或许需要区分
message_format:消息格式,消息内容的格式,比如 json,string 等
producer_id:生产者 ID,记录是谁生产的消息,用于定位问题
consume_id:消费者 ID,记录是谁消费的消息,用于定位问题
索引:
id:主键 ID(主键)
message_id:消息 ID(业务上的唯一消息 ID,用于定位问题)
message_type:消息类型(业务上的分类,可用于统计)
message_format:消息格式(业务上的格式分类,可用于统计)
consume_time:消费时间(消费时间可用于定位问题)
create_time:创建时间(时间可用于定位问题,另外备份等其他操作需要时间作为标识)
update_time:修改时间(时间可用于定位问题,另外备份等其他操作需要时间作为标识)
评论