写点什么

「架构实战营」模块八 设计消息队列存储设计

作者:hxb
  • 2022 年 4 月 18 日
  • 本文字数:398 字

    阅读完需:约 1 分钟

【作业要求】

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

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

3. 一页 PPT 即可。

【提示】

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

设计方法

每个消息队列采用一张表单独存储,原因如下:

  • 分表存储性能更好,如果消息太多,消息的插入和查询变慢;

  • 安全性,不同的用户数据分开存储安全更好;

  • 高可用,不同队列分表存储,某个表出问题不会影响所有的信息队列;


Message_XXXX

消息表, XXXX 表示不同的表后缀,每个消息队列一个表


Queue 表

对列表,存储队列的基本信息


表设计

Message_XXXX 表

id, 字符,主键索引,guid 算法生成

queue_id, 字符,消息队列 id

message, 消息内容

producer_address, 生产者地址

produce_time, 生产时间

consumer_address, 消费者地址

status, 消费者状态,(0 未消费,1 已消费)

consume_time 消费时间


Message 表索引

queue_id 做非聚簇索引,索引字段:queue_id;

用户头像

hxb

关注

还未添加个人签名 2019.07.10 加入

还未添加个人简介

评论

发布
暂无评论
「架构实战营」模块八 设计消息队列存储设计_「架构实战营」_hxb_InfoQ写作平台