请教:怎么样去解决从单个接口拆分多个服务后带来的接口响应慢问题,应该如何解决?
收起一个应用功能被拆分成多个服务之后,原本调用一个接口就能完成的功能如今变成需要调用多个服务,如果按顺序逐个调用的话,使用微服务改造后的接口会比原始接口响应时间更长,因此要把原本串行调用的服务修改为并行调用。 例如接口 A ,需要调用 S1 (耗时 200 毫秒), S2 (耗时 180 毫秒), S3 (耗时 320 毫秒)这 3 个接口,使用串行调用方式,那么接口 A 累计耗时 =SUM(S1+S2+S3)=700 毫秒。为了让响应时间更短,就需要把这些串行调用的方式更改为并行调用的方式,并行调用方式调用接口 A 累计耗时为 MAX(S1 , S2 , S3)=320 毫秒。可以使用 jdk8 提供的 CompletableFuture 方法来并行执行。