模块八作业
设计消息队列存储消息数据的 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 : 主键索引
评论