架构实战营模块 8 作业
消息队列表设计
表名设计:
t_{业务种类}_queue
字段:
id 消息 ID,自增主键,long 类型 ;
creat_time 创建时间 long 类型
accepted 消息接受方
sender 消息发送方
msg_context 消息内容
is_comsumed 是否已经被消费 0,未消费,1 已经被消费。
is_expired 是否已经过期 0 未过期,1 已经过期
索引设计
id 主键索引
create_time 一般索引 增加查询消息的速度
消费消息时,批量查询消息,例如一次性批量查询 10 条消息,where id>xx order by create_time limit 10
is_comsumed 一般索引 增加查询消息的速度
快速查询还有多少条消息未消费: count(*) where is_comsumed = 0
is_expired 一般索引 淘汰消息使用该索引
每个 topic 消息一张表,原因:
1、可以支持较多消息的数量。
2、提升可维护性,方便运维根据表名查看不同种类的数据。
评论