我一直在閱讀有關微服務的信息,並且在JonasBonér的反應性微服務架構中發現了很多有趣的建議(可以免費下載here)。他強調需要在miroservices之間進行異步通信,但他表示外部客戶端的API有時需要同步(通常是REST)。同步公共API如何與基於消息的服務集成?
我一直在想如何從微服務發回的異步響應消息應該最好路由回等待的客戶端。對我來說,最明顯的方法是在處理請求時發送的所有消息中記錄請求標識,然後將此標識複製到服務發送的響應消息中。在最終將響應發送給客戶端之前,公共API將在處理請求時阻塞,收集所有具有匹配id的預期響應消息。
我在這裏的權利線?有更好的方法嗎?做任何框架都需要從開發者手中進行這種路由(我正在研究Spring Cloud Streams等,但其他人也會很感興趣)?