架构实战营第八模块作业
作业
设计消息队列存储消息数据的 MySQL 表格
表设计
考虑到刚开始,消息队列不多,所有消息放在一张表中
分为两个表:队列信息表和消息表
队列表
描写队列的元数据信息,更新较少
以队列的 ID 为 Key,不需要额外再建索引
包括队列名称,队列描述,队列深度,消息保存时间等属性
复制代码
消息表
保存具体的消息
消息 ID 作为主键,包括队列 ID(对队列表作外键关联,消息内容,创建时间,关联消息 ID,消息状态等
消息表除了主键上,还要另外建索引:
队列 ID 建索引,方便根据队列来查询 ID
复制代码
表设计演进
当业务有一定规模后,比如消息队列增多,消息变多,消息按照队列分表
每个队列单独的表保存消息
队列表增加字段,保存对应表的名称
复制代码
每个队列的信息表的表名为"MESSAGE_队列 ID",字段和索引跟 MESSAGE 表一样
评论