写点什么

设计消息队列存储消息数据的 MySQL 表格

用户头像
Vincent
关注
发布于: 3 小时前

【作业内容】设计消息队列存储消息数据的 MySQL 表格

【作业要求】

1.包括表名、字段、索引;

2.用文字描述设计思路和理由,例如:为什么设计某个索引?

3.一页 PPT 即可。


【设计】

一、消息记录表

table name: mq_record_xx

  • id:自增 id

  • msgId:消息 id,唯一键

  • producer_id:生产者 id

  • content:消息内容

  • create_time:消息创建时间

  • 主键:自增 id

  • 唯一键:msgId

  • 索引:index(msgId, content)


常用 sql:

select content from mq_record_xx where msgId = ?


二、消息队列表(每个消息队列一个表)

table name:mq_topic_xx

  • id:自增 id

  • msgId:消息 id,与 mq_record_xx 关联

  • producer_id:生产者 id,冗余存储

  • consumer_id:消费者 id

  • create_time:创建时间

  • status:状态,0 是未消费,1 是消费

  • consume_time:消费时间

主键:自增 id

索引:index(consumer_id,status)

常用 sql:消费者获取下一条未被读取的消息

select * from mq_topic_xxx where consumer_id = A and status = 0 order by id asc limit 1


发布于: 3 小时前阅读数: 4
用户头像

Vincent

关注

还未添加个人签名 2018.09.18 加入

还未添加个人简介

评论

发布
暂无评论
设计消息队列存储消息数据的MySQL表格