簡體   English   中英

在同一執行中處理Sync API調用(REST / Spring)和異步消息(Kafka)

[英]Handling Sync API call (REST/Spring) and Async message (Kafka) in the same execution

我有一個用例來響應應該在Sync中發生的對客戶端的API調用。 但是在api執行過程中,系統A需要將kafka消息發布到其他系統B,並且系統B將響應返回給系統A,該系統將消耗該響應,並且應以API響應的形式響應客戶端。

因此,此問題在此處具有Async pub-sub模型以及Sync API處理。 我可以將生產者和使用者作為pub-sub處理,這是兩種不同的@Async方法,但是在Sync執行過程中發現兩者都存在關聯問題。

API產生的主線程可以等待使用者獲得響應,但是這成為了阻塞線程。

關於實施此功能的任何建議都值得贊賞。

謝謝

您沒有說出同步和異步部分是用哪種編程語言編寫的,但通常應該使用EIP本書http://www.enterpriseintegrationpatterns.com/patterns/conversation/RequestResponse中描述的異步請求響應模式。 HTML

正在處理同步API(例如,通過HTTP的REST API調用)的應用將發布到請求主題,在請求消息中包括一個唯一的CorrelationID(您在應用中生成),然后在另一端,您的Async應用程序可以處理來自請求主題的這些請求,並使用CorrelationID作為關鍵字和/或將其包含在響應消息中來回復響應主題(這樣原始請求者就知道哪個響應與哪個請求相關)。

暫無
暫無

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

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