基于 mysql 的消息队列设计
消息队列设计
存储消息数据的 MySQL 表格
表名
消息表
{topic}_message
所有队列一张表,利用 topic 进行区分。
字段
原因
如果一个 topic 一张表,在实际生产中很可能每张表的负载情况不同,容易造成资源分配的不均匀和浪费。而且如果有表的消息数量增长的很快时,进行横向或纵向扩容,由于本身每个 topic 已经分表,会进一步增加表管理的复杂度。
将自增主键作为索引,有利于 mysql 快速查询和写入,避免性能损耗。
订阅表
subscribe_info
记录用户订阅信息,基于用户订阅质量和服务状况等进行订阅推送。
评论