Toggle navigation
面试宝典
架构师课程
开源
文章
博客
SpringCloud
CloudAlibaba
SpringBoot
Spring Boot1.X
Spring Boot2.X
关于
登录
|
注册
支付宝扫一扫帮助发展吧~
微信扫一扫帮助发展吧~
如何降低复杂度,用数据库做消息队列的存储?
尹吉欢
2022-05-16 22:12:09.0
0条评论
1313人阅读
版权声明:转载请先联系作者并标记出处。
消息队列
点击阅读全文
扫描下方二维码,加入Java方向技术交流讨论群。暗号:加群
去注册
去登录
登录后发表
去注册
去登录
登录后发表
大家好,我是【架构摆渡人】,一只十年的程序猿。这是消息队列的第一篇文章,这个系列会给大家分享很多在实际工作中有用的经验,如果有收获,还请分享给更多的朋友。 今天跟大家聊聊如何用数据库来做消息的存储,这样就可以将消息队列的整体复杂度进行降低,如果后续你们需要自己造更贴近公司业务的轮子,我觉得可以用数据库来存储。 # 容量设计 假设你们的业务消息量每天是10亿条,数据存储最近7天的量,也就是70亿条。我们以单表2000W条数据作为上限,1个库放10张表,那么总共需要40个库来承载这些数据量。 当然这40个库可以不用40个单独的数据库实例,这样成本有点高,当然主要还是取决于你们消息的读写并发有多高,如果很高的话数据库实例越多,性能肯定越好。不多的话就5个数据库实例,每个实例上建8个库即可。(根据消息读取和写入的量结合数据库规格的性能进行评估) # 数据归档 因为我们总共也就能存放80亿条的数据,如果数据量多了必然会影响查询性能或者磁盘空间不够的问题,而且对于已消费的消息,其实后面就没有业务价值了。 所以我们还需要每天进行数据的归档操作,归档你可以将这些数据移到Nosql中,也可
首次访问,人机识别
扫描下方二维码回复
王老吉
获取解锁验证码
步骤:[ 打开微信 ]->[ 扫描上方二维码 ]->[ 关注
猿天地
的公众号] 输入
王老吉
获取验证码,即可永久解锁本站全部文章。
验证码:
(请输入)
提交