首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何优化多次调用外部API并响应结果列表的rest响应?

如何优化多次调用外部API并响应结果列表的rest响应?
EN

Stack Overflow用户
提问于 2022-02-12 14:27:23
回答 1查看 882关注 0票数 0

我已经编写了一个rest,它接受一个请求,这个请求是一个列表(这个列表的大小是动态的)。

现在,我的API所做的是,对于列表中的每个项调用一个外部API,并使用所有响应的集合进行响应。

请参阅以下流程图:

现在这个过程很耗时,响应时间太长了。

注:

  1. ,这必须是一个同步进程。

  1. 我们不能在这里实现分页。

  1. 我们也不想使用多线程,因为如果条目的数量太少,如果条目的数量太高,可能会消耗大量的资源,这可能会造成过度的后果。

那么,我们能做些什么来缩短这个响应时间吗?

EN

回答 1

Stack Overflow用户

发布于 2022-02-12 15:22:43

为了解决您的问题,我建议使用反应性的微服务,即如何开发非阻塞的同步REST API和异步事件驱动的服务。

传统上,作为Java开发人员,我们习惯于使用阻塞I/O来实现同步通信,例如,HTTP。使用阻塞I/O意味着从操作系统为请求的长度分配线程。如果并发请求的数量增加,服务器可能会耗尽操作系统中可用的线程,从而导致从更长的响应时间到服务器崩溃等问题。使用微服务体系结构通常会使这个问题更加严重,通常使用协作的微服务链来服务请求。服务请求所涉及的微服务越多,可用线程就会越快被耗尽。

如果首选同步编程模型,则使用反应性框架,它可以使用非阻塞I/O执行同步请求,而无需在等待响应时分配线程。这将使微服务更易于扩展,以处理增加的工作量。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71092725

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档