我已经编写了一个rest,它接受一个请求,这个请求是一个列表(这个列表的大小是动态的)。
现在,我的API所做的是,对于列表中的每个项调用一个外部API,并使用所有响应的集合进行响应。
请参阅以下流程图:

现在这个过程很耗时,响应时间太长了。
注:
那么,我们能做些什么来缩短这个响应时间吗?
发布于 2022-02-12 15:22:43
为了解决您的问题,我建议使用反应性的微服务,即如何开发非阻塞的同步REST API和异步事件驱动的服务。
传统上,作为Java开发人员,我们习惯于使用阻塞I/O来实现同步通信,例如,HTTP。使用阻塞I/O意味着从操作系统为请求的长度分配线程。如果并发请求的数量增加,服务器可能会耗尽操作系统中可用的线程,从而导致从更长的响应时间到服务器崩溃等问题。使用微服务体系结构通常会使这个问题更加严重,通常使用协作的微服务链来服务请求。服务请求所涉及的微服务越多,可用线程就会越快被耗尽。
如果首选同步编程模型,则使用反应性框架,它可以使用非阻塞I/O执行同步请求,而无需在等待响应时分配线程。这将使微服务更易于扩展,以处理增加的工作量。
https://stackoverflow.com/questions/71092725
复制相似问题