架构营模块八作业
1、每个表都应有一个逐渐 id,除此之外,考虑到消息队列有可能消费消息会滞后,可能需要设计成按照时间进行顺序消费,所以因该将消息插入的时间设置成索引,这样就可以快速的按照时间进行消费。
2、消息队列可以根据不同的消息自定义对应的表名,也就是一个队列一个表名(例如:商品订单表可以设计成 goods_order)。这样可以保证增加增加或者删除某个队列的时候,不会影响到其他的消息队列表。
3、最终表结构如下:
CREATE TABLE `goods_order` (
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'ID',
`message` varchar(2048) NOT NULL DEFAULT '' COMMENT '消息内容',
`status` tinyint(4) NOT NULL DEFAULT '0' COMMENT '0 未消费 1 已消费',
`insert_time` int(11) DEFAULT '0' COMMENT '消息插入时间',
PRIMARY KEY (`id`) USING BTREE,
KEY `insert_time` (`insert_time`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='消息表';
版权声明: 本文为 InfoQ 作者【GTiger】的原创文章。
原文链接:【http://xie.infoq.cn/article/540153105a87d3e7554bebbdd】。文章转载请联系作者。
评论