2017-08-11 121 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和发布需求信息,以消息中间件,该消息将包括通过微服务处理请求所需的详细信息,也有自己独特的队列其绑定与消息代理,一旦消息到达具有特定请求的解决方案,它将回应客户端。

相关问题