gpt4 book ai didi

java - Spring @RestController 调用大量请求

转载 作者:行者123 更新时间:2023-12-01 16:50:41 26 4
gpt4 key购买 nike

我正在使用 Spring Boot 和 @RestController 以及 Java 8 实现 REST API。其中一个 Controller 方法需要调用另一个第 3 方 REST API 服务。方法概述如下(数据格式为JSON):

  1. 调用第 3 方 API 方法来获取候选列表(每个候选都表示为包含一些基本信息的对象)。
  2. 对于每个候选人,调用另一个第 3 方 API 方法来获取有关该候选人的一些更详细的信息。
  3. 混搭结果,从本质上“丰富”第一次调用中的所有候选对象。
  4. 返回丰富的候选对象列表。

我计划对第 3 方 API 上的所有调用使用 @RestTemplate。我担心的是,对于大量候选人(比如 500-1000)来说,如果以阻塞方式实现,这将成为一个巨大的性能瓶颈。我不太确定获得最佳性能的推荐方法是什么。我如何扩展它以便多个用户可以同时访问我的 API?

最佳答案

您的问题非常广泛,我认为没有人能够为您提供详细的答案,但是:

  1. 您的案例似乎是 RxJava 的完美用例:通过添加来自其他来源的附加信息来转换候选流 - 全部异步完成。

  2. 我会跳过 RestTemplate 并选择 Retrofit2以及他们出色的 RxJava 集成。看这个基本tutorial1tutorial2 .

  3. 1000条记录虽然不多,但也取决于下游服务的性能。您需要亲自测试一下。

  4. 如果您想了解有关 RxJava 的更多信息,请参阅 great docs online以及 new amazing book作者:托马斯·努尔凯维奇和本·克里斯滕森。

祝你好运!

关于java - Spring @RestController 调用大量请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40684174/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com