写点什么

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

作者:AUV
  • 2022 年 2 月 27 日
  • 本文字数:402 字

    阅读完需:约 1 分钟

【作业要求】

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

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

3. 一页 PPT 即可。

【提示】

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


简单场景,不同队列可共用一张表。

业务线


表:

msg,消息记录表

字段:

id:消息逻辑主键,自增

type:类型,多个业务共用同一张消息表,用于区分不同业务线类型。业务线较多时,可按业务进行分表。

biz_id:业务 id,防止消息的重复消费。

format:消息格式,如 text、json、yaml 等

code:消息编码,如 UTF-8、GB2312 等

content:消息内容

queue:队列名称,将需保证顺序的消息放入同一队列。

ttl:有效期,消息的有效期。

state:状态,已接收、确认接收、已消费、确认消费。

create_time:创建时间

update_time:更新时间


表:

queue,队列枚举表

字段:

id:逻辑主键,自增

queue_name:队列名称。


表:

business,业务线枚举表

字段:

id:逻辑主键,自增

biz_name:业务名称。

用户头像

AUV

关注

还未添加个人签名 2021.10.24 加入

还未添加个人简介

评论

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