「架构实战营」模块八 设计消息队列存储设计
【作业要求】
1. 包括表名、字段、索引;
2. 用文字描述设计思路和理由,例如:为什么设计某个索引?
3. 一页 PPT 即可。
【提示】
1. 需要考虑每个消息队列一张表,还是所有消息放一张表,里面加一个“队列名称”的字段。
设计方法
每个消息队列采用一张表单独存储,原因如下:
分表存储性能更好,如果消息太多,消息的插入和查询变慢;
安全性,不同的用户数据分开存储安全更好;
高可用,不同队列分表存储,某个表出问题不会影响所有的信息队列;
Message_XXXX
消息表, XXXX 表示不同的表后缀,每个消息队列一个表
Queue 表
对列表,存储队列的基本信息
表设计
Message_XXXX 表
id, 字符,主键索引,guid 算法生成
queue_id, 字符,消息队列 id
message, 消息内容
producer_address, 生产者地址
produce_time, 生产时间
consumer_address, 消费者地址
status, 消费者状态,(0 未消费,1 已消费)
consume_time 消费时间
Message 表索引
queue_id 做非聚簇索引,索引字段:queue_id;
评论