写点什么

模块八作业

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

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


  • 表名:每个队列一张独立的表,表名即为队列名

  • 更利于具体表定制一些额外的列,以及增加索引或外键

  • 可扩展,单表数据量较为可控

  • 隔离,可以更灵活地为不同表设置不同配置

  • 字段:

  • 基础字段:

  • MessageId(CHAR) - 主键

  • Payload(TEXT-JSON format) - 消息内容

  • CreateTimestamp - 消息创建时间

  • IsActive(BOOLEAN) - 待消费

  • DeliveredTimestamp - 被确认消费时间

  • 这里不考虑额外的设置如延迟发送,以 CreateTimestamp 为主要顺序,否则可以加 SendTimestamp/SendOptions

  • 索引

  • MessageId 为主键,可使用 UUID

  • IsActive + CreateTimestamp 建索引找新消息

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

Geek_1cdcf6

关注

还未添加个人签名 2021.01.18 加入

还未添加个人简介

评论

发布
暂无评论
模块八作业