我有一個用於響應應該發生在Sync中的客戶端的API調用。但是在api執行過程中,系統A需要發佈一個kafka消息給不同的系統B,而系統B則返回它所使用的系統A的響應,並且應該以API響應的形式響應客戶端。在同一個執行中處理同步API調用(REST/Spring)和異步消息(Kafka)
所以,這裏的問題有Async pub-sub模型和Sync API處理。我可以將生產者和消費者的pub-sub作爲兩個不同的@Async方法來處理,但是在同步執行中發現兩者之間的關聯存在問題。
通過API產生的主線程可以等待消費者獲得響應,但這變成了阻塞線程。
關於實施這個高度讚賞的任何建議。
感謝
Hans,感謝您的回覆。編程是用Java編寫的,我在我的問題上標記了它。 在同一個Sync呼叫中關聯請求和響應是這裏的挑戰。我可以阻止線程,但那不是一個可擴展的選項。 – Rams
你不應該阻塞線程。你需要它來輪詢卡夫卡的回覆。 –
我的意思是,在得到Kafka的響應之後,在相同的上下文中關聯請求和響應,而不阻塞原始請求線程是挑戰。 – Rams