写点什么

模块八

作者:Geek_2ce415
  • 2022 年 7 月 31 日
  • 本文字数:450 字

    阅读完需:约 1 分钟

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

【作业要求】

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

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

3. 一页 PPT 即可。

【提示】

1. 需要考虑每个消息队列一张表,还是所有消息放一张表,里面加一个“队列名称”的字段。


1、消息生产者数据表设计

1.1、表设计如下:

索引如下:

id:主键 ID(主键)

create_time:普通索引(1、可按 create_time 分表;2、可按 create_time 定期清理过期数据)

producer+create_time:组合索引(方便查询该生成者生产的消息)


1.2、说明

每个消息队列对应一张 MySQL 表,表名为消息队列名称+producer,这样不同队列对应不同的表,避免队列产生相互影响,又减少单表数据量。


2、消息消费者数据表设计:

2.1、表设计如下:

索引如下:

id:主键 ID(主键)

message_id:外键索引,对应消息生产者自增 ID

consumer+consume_time:组合索引(方便查询该消费者消费的消息)


2.2、说明

1、每个消息队列对应一张 MySQL 表,表名为消息队列名称+consumer,这样不同队列对应不同的表,避免队列产生相互影响,又减少单表数据量。

用户头像

Geek_2ce415

关注

还未添加个人签名 2021.05.12 加入

还未添加个人简介

评论

发布
暂无评论
模块八_Geek_2ce415_InfoQ写作社区