写点什么

架构实战营 - 模块八 - 作业

用户头像
大可
关注
发布于: 1 小时前

一、题目描述

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

【作业要求】

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

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

3. 一页 PPT 即可。

【提示】

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

二、题目解答

基于数据量的考虑,一张表保存所有的队列数据,数据量会很大,所以设计按照队列拆分表,表的名称为 topic_xxx,xxx 表示队列的具体含义。如:topic_log,日志队列。

2.1 表结构

如下所示:

字段说明,见表格即可。其中 status 这个字段是决定这个消息有没有被成功建立、成功消费、或者可能由于某种原因,消费失败或者需要重试做个标记。

2.2 索引说明

idx_status(status):方便按照队列的状态查询数据。

idx_producer(producer_id):方便按照生产者查询。

idx_consumer(consumer_id):方便按照消费者进行查询。


用户头像

大可

关注

还未添加个人签名 2017.11.21 加入

还未添加个人简介

评论

发布
暂无评论
架构实战营-模块八-作业