写点什么

架构实战营 - 模块 8- 作业

发布于: 24 分钟前

作业:设计消息队列存储消息数据的 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:修改时间(时间可用于定位问题,另外备份等其他操作需要时间作为标识)


用户头像

还未添加个人签名 2020.09.27 加入

还未添加个人简介

评论

发布
暂无评论
架构实战营 - 模块 8- 作业