首页 > 解决方案 > Spring Boot响应式WebClient调用遗留端点

问题描述

在 Spring Boot (2.2.2.RELEASE) 应用程序中,我有响应式端点(返回 Mono 或 Flux),它们每个都使用响应式 WebClient 来调用另一个服务。这种“其他”服务是遗留(非反应性)服务。

这是我的问题:

标签: spring-bootwebclientspring-webfluxreactive

解决方案


如果我们谈论的是 HTTP 端点,我们可以使用阻塞或非阻塞(异步)客户端调用它们,但不能完全响应。

如果您的“新”应用程序是反应式的,则必须使用非阻塞客户端(在您的情况下为 WebClient),否则您将阻塞 NIO 线程并失去反应式方法的所有优势。“其他”应用程序被阻塞的事实并不重要,您仍然可以获得资源较少的“新”应用程序。


推荐阅读