rio*_*rio 5 reactive-programming spring-boot spring-webflux
我有一个Spring Boot WebFluxI/O 密集型服务并调用外部资源。
通常情况下,一切正常。但有时,我注意到该服务看起来像是冻结/冬眠。这意味着它可以在通常需要几毫秒的两行代码之间空闲几分钟。
这通常与 I/O 操作相关。例如,从资源 A 获取响应,然后调用资源 B。
我们注意到有时这些时间间隔为 10 分钟 - 就好像服务没有可用线程来处理请求或者它正在某处排队。
这种冻结可能与我们调用的外部服务响应缓慢有关。我们期望 WebFlux 能够毫无问题地处理它,但外部资源的缓慢似乎正在影响我们的服务。
伪正常场景:
10:00:00 - call external service A (responses within 2 seconds)
10:00:02 - getting a response from service A
10:00:02:10 - calling service B after 10 Milliseconds
Run Code Online (Sandbox Code Playgroud)
伪故障场景:
10:00 - call external service A (responses are getting slower, say to 1 minute)
10:01 - getting a response from service A
10:11 - calling service B <----- why did it wait 10 minutes?
Run Code Online (Sandbox Code Playgroud)
当这个情况发生时:
有什么想法会导致这样的事情吗?
| 归档时间: |
|
| 查看次数: |
817 次 |
| 最近记录: |