这次咱们从根源聊:16招搞定高并发架构设计( 六 )

说白了就是预测到将来用户可能会访问的请求,进行预加载或是预处理,然后之后真正请求到来的时候这个访问就会特别快。

2、处理异步化

我们知道高并发的请求如果来源是用户的点击,那么这个量不太可控,而且不均衡。

对于来自用户的请求,如果是读取请求往往没太多好办法去异步处理,毕竟你需要同步返回用户信息,对于操作类的写入请求可以尽量异步化处理,仅仅把最关键的环节作为同步处理,那么直面用户的同步请求的执行时间就会大大减少。

这里可以举一些异步处理的例子:

使用线程池来进行异步处理一些非关键的任务

这个和之前说的任务并行化有点区别,这里说的使用线程池进行异步处理是指Fire-and-forget类型的处理,不需要等待处理完成的结果并且返回给前端。

使用MQ进行异步处理

比如下单的主流程就是落地和发MQ通知其它模块,落地后后续出库、物流的流转全部是其它模块在收到MQ消息后异步处理的。

推荐阅读