040022-week8-design
作业:设计消息队列存储消息数据的 MySQL 表格
【作业要求】
1. 包括表名、字段、索引;
2. 用文字
描述设计思路和理由,例如:为什么设计某个索引?
3. 一页 PPT 即可。
【提示】
1. 需要考虑每个消息队列一张表,还是所有消息放一张表,里面加一个“队列名称”的字段。
设计如下:
考虑消息队列的数据量很大,而且在使用的时候为了区分业务和分解数据压力,会设置多个队列
,那么在设计数据库存储消息队列数据的时候,虽然每个队列在使用的业务方向不同,但是在数
据传输的消息结构都是一致的,后续解析数据会有不同,那么可以将所有消息放在一张表中,后
续可以根据数据量的情况以队列名称为分表键进行横向分表数据处理。
标明:消息队列交易流水表
字段:
1.物理 ID
2.消息队列名称
3.消息时间
4.消息 ID
5.消息实体 Object
6.记录此消息机器
7.是否成功消费
8.是否 ACK
9.消费机器
设置索引:
消息队列名称:用于数据量过大情况下的根据队列名称进行横向分表。
消息 ID:用于幂等性检查,用于数据查询等;
版权声明: 本文为 InfoQ 作者【InfoQ_70156470130f】的原创文章。
原文链接:【http://xie.infoq.cn/article/2fd63cb481eb970fba6e37c5a】。文章转载请联系作者。
评论