设计消息队列存储消息数据的 MySQL 表结构
1.为了高性能,对消息进行快速入库。先存入一张消息日志表。表名 sys_mq_log. 表字段有 id(主键),消息内容,消息名称、创建人、更新人、创建时间、更新时间、是否已处理标识。
2.为了方便查询消息一些明细内容,创建一张消息队列表明细表。表字段有分布式唯一 ID(主键),日志表 id(索引),消息内容,消息名称、消息类型、对应业务数据 ID(索引),创建人、更新人、创建时间、更新时间、是否已处理标识。
3.生产者产生消息时,首先写入日志表,日志表写入成功后就意味着消息发送成功。
4.有专门线程从日志表中把消息内容写入消息表中。每个消息队列一张表,消息数量大,这样可以优化消息查询性能。
5.消息日志分析可以从日志表查询,业务系统读取消息内容就从对应消息表中查询。
评论