设计消息队列存储消息数据的 MySQL 表格
【作业要求】
1. 包括表名、字段、索引;
2. 用文字描述设计思路和理由,例如:为什么设计某个索引?
3. 一页 PPT 即可。
【提示】
1. 需要考虑每个消息队列一张表,还是所有消息放一张表,里面加一个“队列名称”的字段。
设计
消息表设计:
用于记录消息主体,字段包括:
id : mysql 自增 id,主键唯一索引
msg_id : 消息 id,唯一索引,id 由 id 生成器生成
type : 消息类型,1.单播消息,2.广播消息,3.延迟消息,4.事务消息
body :text 类型,大文本,消息体
status:消息状态:1.未被消费,2.已消费完成
send_time: timestamp 类型,当 tpye=3 的时候使用,表示消息投递时间
create_time : 创建时间
update_time : 最后一次消费的时间
索引:
id 为主键唯一索引
msg_id 唯一索引,表示消息的唯一标识,防止重复
type 普通索引,便于查询一类消息
send_time 普通索引,用于查询延迟消息,判断是否需要投递消息
评论