0

我正在尝试使用 ActiveMQ 作为外观来隐藏底层负载平衡和分布式环境。例如,假设我们有 3 个相同服务的实例,在不同的服务器上运行。ActiveMQ 队列对应用程序的其余部分隐藏了这一点。此外,使用代理网络,我们能够消除任何单点故障。

我想知道,我们如何在底层服务上执行像 Get 这样简单的操作?

连接到此环境的客户端不知道队列中有多个实际服务实例。客户端直接与队列交互。因此,当直接处理队列,而不是底层服务时,客户端如何执行简单的Get?

谢谢!

4

1 回答 1

0

您的服务正在使用异步接口。因此,您应该在 REST API 中执行相同的操作。

  1. @PUTor@POST方法中向服务发送消息。此方法立即返回。
  2. 服务开始处理消息
  3. @GET方法中检查响应队列中的消息。还没有消息,所以它返回“尚未完成”
  4. 服务已完成,并在响应队列上发送消息
  5. 现在在@GET方法中您可以读取响应消息,并将其返回给客户端

相关:通过 JMSCorrelationID 过滤 JMS 消息接收器

于 2013-09-14T21:28:19.550 回答