高并发下的系统优化-请求合并

高并发下的系统优化-请求合并

在互联网的场景下, 总会有一些接口长期大量的被访问,如个人信息,订单查询,商品查询等。这些请求的都有一个特点,就是查询简单,只需要传入一个id就可以进行查询。应对这种大量频繁的查询,我们可以做请求合并。

前提:在做请求合并有个重要前提,就是系统必须支持一次传入多个查询条件,然后得到返回结果,通俗的讲就是支持in的查询。

模拟场景:根据产品ID查询产品信息,并发2000次/秒
请求流程如下

  1. 前台用户请求查询产品的接口 --> 后台controller接收请求 --> service调用mapper查询数据库或者第三方接口查询数据 --> 返回结果给前台
  2. 重复2000次如上请求。

造成的后果会在1s内查询2000次数据库或者第三方系统。

示例参考: https://blog.csdn.net/liuhongya328/article/details/103187633

技术要点:

将请求加一个请求队列,等待批量查询,然后通过CompletableFuture 返回。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章