高併發下的系統優化-請求合併

高併發下的系統優化-請求合併

在互聯網的場景下, 總會有一些接口長期大量的被訪問,如個人信息,訂單查詢,商品查詢等。這些請求的都有一個特點,就是查詢簡單,只需要傳入一個id就可以進行查詢。應對這種大量頻繁的查詢,我們可以做請求合併。

前提:在做請求合併有個重要前提,就是系統必須支持一次傳入多個查詢條件,然後得到返回結果,通俗的講就是支持in的查詢。

模擬場景:根據產品ID查詢產品信息,併發2000次/秒
請求流程如下

  1. 前臺用戶請求查詢產品的接口 --> 後臺controller接收請求 --> service調用mapper查詢數據庫或者第三方接口查詢數據 --> 返回結果給前臺
  2. 重複2000次如上請求。

造成的後果會在1s內查詢2000次數據庫或者第三方系統。

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

技術要點:

將請求加一個請求隊列,等待批量查詢,然後通過CompletableFuture 返回。

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