![](/img/trans.png)
[英]Calling a non-reactive legacy service from reactive spring boot app?
[英]Spring boot reactive WebClient calling legacy endpoint
在 Spring Boot (2.2.2.RELEASE) 應用程序中,我有反應式端點(返回 Mono 或 Flux),每個端點都使用反應式 WebClient 來調用另一個服務。 這個“其他”服務是遺留(非反應式)服務。
這是我的問題:
如果我的反應式端點正在調用這個阻塞的非反應式端點,使用 Webflux(反應式 WebClient)是否有好處?
我的反應性端點是否仍然反應性?
如果我們談論 HTTP 端點,我們可以使用阻塞或非阻塞(異步)客戶端調用它們,但不能完全響應。
如果您的“新”應用程序是反應式的,則必須使用非阻塞客戶端(在您的情況下為 WebClient),否則您將阻塞 NIO 線程並失去反應式方法的所有優點。 “其他”應用程序被阻塞的事實並不重要,您仍然可以獲得資源密集程度較低的“新”應用程序。
它們是 1. 不完全。 2. 在您更改舊 API 之前,您的請求不是完全響應式的
說明:端到端反應式模式僅有助於性能方面目前您使用的是反應式客戶端,這有助於以兩種方式通信連接到服務器。 第一組 API 是反應性的,因此 Web 服務器層現在是反應性的,但數據層(傳統 API)不是反應性的
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.