簡體   English   中英

春季啟動並行傳出請求的最佳做法是什么?

[英]What's the best practice for spring boot parallel outgoing requests?

我正在構建一個Java Spring Boot(微)服務,它基本上只有一個REST端點來檢索某些資源的數據。 為此,我需要從每個傳入的請求中檢索大約3-5個外部資源的信息(緩存和數據的預檢索不是一個選項,因為緩存在統計上沒有幫助,我不能存儲數據在我的服務器上以任何方式)。

所以基本上每個傳入的請求我需要生成3-5個外部服務調用,當然我希望並行/同時進行。 這是一個非常輕量級的服務,因為它主要等待I / O響應。

這樣做的最佳做法是什么?

如果我需要使用某種線程池,這意味着如果我需要支持200個並行請求,那么我需要600-1000個線程來處理傳出請求,這將成為一個非常繁重的服務,主要是等待I / O.

(為了比較,使用Node.js這很簡單,因為我每個人都使用Promise.all(...) ,並且我獲得了很好的並發性,但我希望了解如何使用Java Sprint-Boot實現相同的功能)

您可以使用Spring 5中添加的新反應功能。您可以在最新的Spring引導版本中使用它。

例如看看這個https://spring.io/guides/gs/reactive-rest-service/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM