架构实战营 - 设计消息队列存储消息数据的 MySQL 表格
每次创建一个主题的新建一个数据库msg_${topic_name}
复制代码
创建一张消费记录表,不区分 topic。使用 topic 进行数据库分区,消费记录表如下
复制代码
每次创建一个主题的新建一个数据库msg_${topic_name}
id bigint 主键 pkmsg_id bigint 消息ID,ID生成器生成body text,消息体created_at timestamp,创建时间client string,客户端标识cluster_id string,集群IDretry_count,重试次数
index(msg_id)index(created_at)
这里消费状态可以不要,即服务端ACK消费后即删除,这样这个数据库打下不会增加创建一张消费记录表,不区分 topic。使用 topic 进行数据库分区,消费记录表如下
msg_consumer
id bigint,主键 pkmsg_id bigint, 消息IDtopic varchar(50),主题consumer_at timestamp 消费时间body text,消息体client string,客户端标识
index(topic,msg_id)index(topic,consumer_at)还未添加个人签名 2018.04.11 加入
还未添加个人简介

促进软件开发及相关领域知识与创新的传播
京公网安备 11010502039052号


评论