模块八
自研消息队列存储--消息表设计
1.每个队列单独消息表,防止各队列读写相互影响,也避免单表数据量过大的问题
如队列 queue-01
queue_01_message q01 的消息表
关键表字段:
Id 消息 id 自增+索引
Header 消息头
Body 消息体
createTm 创建时间
queue_consumer 队列消费表
关键表字段:
Id 主键
Consumer_group 消息者组 id 索引
Queue_id 队列 id 索引
Offset 读取偏移量
不同的 consumerGroup 可以订阅同一个队列,需要记录每个队列当前消费的 offset
每次读取消息,先查询当前 consumerGroup 需要读取的队列 id 的 offset,offset 为队列消息表中已消费的最大消息 id,然后根据 offset 查询消息表中大于 offset 的消息
评论