写点什么

【架构设计模块八】:设计消息队列存储消息数据的 MySQL 表格

用户头像
Ryoma
关注
发布于: 2 小时前

前提

【作业要求】

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

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

3. 一页 PPT 即可。


【提示】

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


思路

  1. 每个消息队列一张表,还是所有消息放一张表:建议每个消息队列一张表,考虑 MySQL 单表存储性能压力,分表存储即可

  2. 除了基础消息表外,还需要记录每个消费者的 offset,即消息记录表


表设计

消息表

mq_record_[topic_name]:


NOTE:

  • id:保证消息自增

  • created_time:保证及时清理数据


消息记录表

mq_offset:


NOTE:

  • 唯一索引:topic_name + consumer_id 保证消息唯一性及查询效率

发布于: 2 小时前阅读数: 4
用户头像

Ryoma

关注

学如逆水行舟 2018.05.14 加入

一只菜菜的全沾工程师

评论

发布
暂无评论
【架构设计模块八】:设计消息队列存储消息数据的 MySQL 表格