簡體   English   中英

如何使用 Spring 雲數據流處理同步響應

[英]How to handle synchronous responses with Spring Cloud Data Flow

我們正在設計將我們的單片 Java 應用程序遷移到微服務,以滿足各種客戶端要求,例如可擴展性、高可用性等。我們應用程序的核心 function 是數據處理,即從源檢索數據,將其通過0 次或多次變換,最后將結果推送到目的地。 出於這個原因,我們正在尋找在 Kubernetes 和 Kafka 上運行的 Spring 雲數據流來為我們完成繁重的工作,並使用一些自定義構建的 stream 應用程序來處理我們的業務邏輯。

我們還沒有弄清楚的一件事是它如何處理對通過 HTTP 源發送的請求的同步響應 - 特別是在響應之前需要進行一些處理時。 例如,假設接收到的請求在 JSON 數據包中包含兩個不同的數量。 然后我們將其傳遞給一個自定義的“加法”轉換器,該轉換器輸出這些數量的總和,並需要將結果返回給調用方。 但是,由於 Transformer 是一個完全獨立的進程,它通過消費來自 Kafka 主題的數據來接收數據,因此它無法訪問原始 HTTP 連接來響應。

這是否可以通過 Spring 雲數據流實現,或許通過將其與 Spring 雲網關之類的東西結合起來來管理 HTTP 連接? 還是我們完全找錯了樹?

將異步流(Spring Cloud 數據流)與同步 HTTP 流結合起來並不容易(HTTP 請求有超時並且異步流處理時間預先未知)。 您可以做的是返回一個 id 作為您的 HTTP 源的響應,並有另一個 HTTP 端點來檢查初始請求的狀態並使用它獲取結果。 這是一種投票方式。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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