写点什么

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

作者:胡颖
  • 2021 年 12 月 11 日
  • 本文字数:346 字

    阅读完需:约 1 分钟

所有消息放一个表格,这样便于管理,尤其是不同消息种类之间如果有因果关系的情况下容易按时序划分。表中有一栏表示消息组名称。同时每条消息按 subscriber 复制多份,每个 subscriber 一份。该表可以有以下几栏。message_id BIGINT NULL,这是自增 ID。[time] [datetime] NOT NULL, 这是消息产生时间戳。[message_group_name] char NOT NULL,这是消息组名称。[message] char NOT NULL, 这是消息本身。[subscriber_name] char NULL,这是这条消息的 subscriber[processed] TINYINT NOT NULL,这是这条消息是否被 subscriber 已经处理了。如果处理了, 这条消息可以被删除或者存在更低效的存储容器中。

索引:

  1. message_id 是主键。

  2. time: 这样便于按时间搜索。

  3. message_group_name: 这样便于按消息组名称搜索。

  4. subscriber_name: 这样便于按 subscriber 搜索。

用户头像

胡颖

关注

还未添加个人签名 2019.01.06 加入

还未添加个人简介

评论

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