写点什么

模块八作业

用户头像
SAKIN
关注
发布于: 4 小时前

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


1. 表设计

1.1 消息表

表名:t_message

字段名

id : long 自增 id

queue_id : int 消息队列 id

queue_name : varchar(64)消息队列名,冗余

p_id : int 发布者 id

body : text 消息内容

status : int 消息状态 :成功,失败

create_datetime : datetime 创建时间

create_datetime : datetime 修改时间


索引:

id:主键索引

queue_id ,status: 联合索引,方便查询队列中消息列表

1.2 订阅表

表名:t_sub

字段:

id : long 自增 id

queue_id : int 队列 id

queue_name : varchar(64) 队列名称 ,冗余

c_id : int 消费者 id

create_datetime : datetime 创建时间

索引

id:主键索引

queue_id: 普通索引

c_id: 普通索引

1.3 消费表

表名 :t_consumer_message

字段:

id : long 自增 id

c_id : int 消费者 id

queue_id: int 队列 id,冗余

msg_id : long 消息 id

status : int 消费状态 :成功,失败

create_datetime : datetime 创建时间

update_datetime : datetime 修改时间

索引

c_id: 普通索引,用于查询某个消费者消费的消息

msg_id:普通索引,用于查询消息被哪些消费者消费

queue_id: 普通索引,用于查询某个队列下有哪些消费者

1.4 队列表

表名:t_queue

字段

id : int 自增 id

name : varchar(64) 队列名

create_datetime : datetime 创建时间

索引:

id : 主键索引


用户头像

SAKIN

关注

还未添加个人签名 2017.09.10 加入

还未添加个人简介

评论

发布
暂无评论
模块八作业