写点什么

模块八

作者:ASCE
  • 2022 年 6 月 12 日
  • 本文字数:399 字

    阅读完需:约 1 分钟

自研消息队列存储--消息表设计


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 的消息

用户头像

ASCE

关注

还未添加个人签名 2018.10.17 加入

还未添加个人简介

评论

发布
暂无评论
模块八_ASCE_InfoQ写作社区