0

我一直在閱讀有關微服務的信息,並且在JonasBonér的反應性微服務架構中發現了很多有趣的建議(可以免費下載here)。他強調需要在miroservices之間進行異步通信,但他表示外部客戶端的API有時需要同步(通常是REST)。同步公共API如何與基於消息的服務集成?

我一直在想如何從微服務發回的異步響應消息應該最好路由回等待的客戶端。對我來說,最明顯的方法是在處理請求時發送的所有消息中記錄請求標識,然後將此標識複製到服務發送的響應消息中。在最終將響應發送給客戶端之前,公共API將在處理請求時阻塞,收集所有具有匹配id的預期響應消息。

我在這裏的權利線?有更好的方法嗎?做任何框架都需要從開發者手中進行這種路由(我正在研究Spring Cloud Streams等,但其他人也會很感興趣)?

回答

0

他強調 miroservices之間的異步通信的需要,但是他說,對於外部客戶端的API有時需要 是同步的(通常REST)。

當與客戶打交道 - 後端通信,你可以有幾個類型的操作,我們應seperetly處理(看看CQS想法):

  • 狀態更改操作 - 他們應該使用消息傳遞(它可以是客戶端調用HTTP API和調度消息的API)

  • 讀操作:同步(請求響應)操作(使用HTTP API),這不是涉及任何messa ging有什麼如此

這有道理嗎?

相關問題