模块八 - 设计消息队列存储消息数据 作业
作业:设计消息队列存储消息数据的 MySQL 表格
需要考虑每个消息队列一张表,还是所有消息放一张表,里面加一个“队列名称”的字段
设计消息的元数据表
topic 主题表 :id, name,create_date
producer 生产者表 id name create_date topic_id(关联 topic 表)
consumer 消费者表 id name create_data topic_id(关联 topic 表)
partition 分区表 消息被分区于哪个分区里 id name create_date topic_id(关联 topic 表)
消息数据相关的表
mq_msg
id
msg_id : 消息 id
topic_id:主题 id
msg_length: 消息长度,
type : 消息类型,
body :text 类型
partiotion_id :分区键
send_time: timestamp
create_time : 创建时间
update_time : 最后一次消费的时间
创建 msg_id 索引
消息消费记录表
mq_msg_record
id :
msg_id :关联消息 mq_msg
create_time : 消息消费时间
status:消息状态:正常成功消息
num : 消息消费次数,通过次数控制消费重送以及对已生成的消息进行删除
版权声明: 本文为 InfoQ 作者【novoer】的原创文章。
原文链接:【http://xie.infoq.cn/article/2dd46e24650371dbd3bbe6aea】。未经作者许可,禁止转载。
评论