簡體   English   中英

Spring 啟動反應式 WebClient 調用舊端點

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM