大家好,我是七淅(xī)。
如标题所说,和大家分享一个我曾优化过的业务场景。
当然,具体业务细节不重要,重要的是优化的思路。如果大家以后有遇到类似特点的场景,能够想到七淅这篇优化文章,那我就觉得很值了。
接下来我就直接进入主题,要分享得优化思路就是请求合并。
弱弱说一句,由于优化效果特别明显,这一优化我直接写到简历上了。
之前面试有不少面试官都会来问我是怎么做的,你看这不就给我机会发挥了吗?所以大家懂的,有合适场景记得用起来,以后面试也和面试官谈笑风生。
1. 什么是请求合并
首先说明一下,这并不是什么高级的优化方式,不难,朴实无华,但有用。
如字面意思,就是(把多个)请求合并(成一个请求去处理)。
现在含义你知道了,现在我们看下文章标题:「请求一下子太多了,数据库危」
聪明的你是不是已经猜到七淅要怎么优化了?
2. 业务背景
我有一个推送业务,会把每次推送记录都存到 MongoDB 中。
PS:不用在意是 MongoDB 哈,可能有的读者可能没接触过,没关系。反正它也是一个数据库,就算换成 MySQL,优化一样适用哈
而推送业务一个非常常见的场景就是定时发送消息给用户,所以到点之后对应的每秒写请求就特别高。
当初我这边是有 8000 的每秒写入量,后面通过请求合并优化到每秒写 500。