写点什么

模块八作业

用户头像
Geek_fc100d
关注
发布于: 11 小时前

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


【作业要求】

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

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

3. 一页 PPT 即可。


【提示】

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


日志表+消息表,日志表用于消息的快速写入;每个消息队列一张消息表,多表设计有利于消除消息写入、消息读取、队列之间读取的相互影响;

发布消息时,首先写入到日志表,日志表写入成功就代表消息写入成功;后台线程再从日志表中读取消息写入记录,将消息内容写入到消息表中;

读取消息时,从消息表中读取;

日志表表名:t_mq_log,字段:log_id、queue_name、data、create_time;

消息表表名:队列名称(例如:t_que_user),字段:que_id、data、publish_time;

在写入消息表后,同步删除日志表中的数据,每天定时清除消息表中的历史数据,保留 10 天即可。

用户头像

Geek_fc100d

关注

还未添加个人签名 2019.09.28 加入

还未添加个人简介

评论

发布
暂无评论
模块八作业