写点什么

模块八 - 设计消息队列存储消息数据的 MySQL 表格

作者:deng
  • 2021 年 12 月 26 日
  • 本文字数:481 字

    阅读完需:约 2 分钟

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

作业要求

1. 包括表名 字段 索引

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

3. 一页 PPT 即可

提示

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


消息存在一张分区表, 按照队列名称分区

有两张表存储消息, 支持单用户订阅和多用户订阅, 一张表存储发送消息, 另一张表存储确认消息。


message_send 消息发送表

id varchar(64) 主键

message_subject varchar(64) 队列名称

message_type varchar(32) 消息类型 (queue-单用户订阅 topic-多用户订阅)

create_time varchar(32) 创建时间

message_body clob

索引 create_time 查询某个时间范围内的消息

分区 message_subject


message_confirm 消息确认表

id varchar(64) 主键

message_id varchar(64) 消息发送表 id

message_subject varchar(32) 队列名称

message_type varchar(32) 消息类型

message_subcriber varchar(64) 消息订阅者

confirm_time varchar(32) 确认时间

惟一索引 message_id + message_subscriber 每个订阅着 只能确认一次

索引 confirm_time 查询某个确认时间内的消息标识,

分区 message_subject

用户头像

deng

关注

还未添加个人签名 2020.04.19 加入

还未添加个人简介

评论

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