2017-08-11 32 views
0

我對微服務和SOA感興趣。我讀了一些教程。這是我對SOA的理解。 API網關接收大量請求(requestA,requestB,...)並將請求放入消息隊列中。微服務將消耗消息隊列中的事件並進行一些處理。我的問題是在處理之後,如何將響應返回給請求(對requestA的responseA,對requestB的responseB)。微服務或SOA:如何響應一個特定請求

我不確定我的理解是對還是錯,以及是否在每個體系結構中都使用消息傳遞。

任何人都可以給我更多的細節/示例如何解耦/連接API網關和微服務。如何迴應請求? API網關和客戶端之間的連接是否保持活躍?

對不起,如果我的問題不清楚。我很困惑,不知道如何理解每個概念。

歡迎任何評論。謝謝

+0

你的理解是錯誤的,沒有排隊,你只要發送1所請求的microService並等待響應,多數民衆贊成它,僅此而已 –

+0

消息是一個方法做微服務之間的通信,REST API是另一種方式。在消息隊列的情況下,我想知道如何匹配請求和響應。我對如何實現這種通信的細節感興趣。 – BAE

+0

如果你想得到你的請求的響應 - 你要麼明確地等待它,要麼你可以使用隊列進行異步評估(我不會說它是另一種通信方式,它是不同的應用程序體系結構和設計) ,在這種情況下,人們通常會在消息中生成一些id,之後這個id將被服務器用來將消息發回到_another_隊列中,以便客戶端可以接收它,還有其他方式可以通知客戶端結果 –

回答

-1

微服務簡單獨立的單位,消息代理進行通信,讀取自己的隊列中的請求消息,並再次發送到消息代理的響應,其中廣播相同resposne到所有其他隊列。

API網關提供休息API和發佈需求信息,以消息中間件,該消息將包括通過微服務處理請求所需的詳細信息,也有自己獨特的隊列其綁定與消息代理,一旦消息到達具有特定請求的解決方案,它將回應客戶端。