Azure服务总线等待响应

时间:2015-04-24 13:41:18

标签: asp.net-mvc azure servicebus

我是Azure新手,请原谅我。我将有客户端应用程序(Web,移动)向Azure服务总线发送请求。这些客户端如何接收来自队列的响应,该响应从队列中提取消息并对其进行处理?假设以下情况:

  1. 网站用户想要获取项目列表。他们按一个按钮来请求列表
  2. 按钮单击会向Azure队列发送请求
  3. 网站等待响应(在同一网页的ASP.NET中,同一个会话?)
  4. 移动应用程序的体验也是如此

1 个答案:

答案 0 :(得分:6)

我们使用Azure Service Bus解决了这个问题,因为我们有两个系统无法通过API或其他方式直接相互通信,但两个系统都可以与Azure Service Bus通信。以下是它的工作原理:

  1. 客户(网站SPA - 我们称之为" Wife")调用自己的后端服务器API。
  2. 服务器将请求发布到消息队列(队列A)。
  3. 另一个系统(我们称之为#34; Husband")订阅了消息队列A,处理请求并将响应发布到另一个队列(队列B)。
  4. 步骤2中的服务器订阅了消息队列B并一直在等待响应。它会查看队列,检查响应是针对步骤2中发送的相同请求,并在步骤1中响应客户端。
  5. 运作良好。如果丈夫(在步骤3中)离线,无论出于何种原因,它会在他回醒并发布响应时处理该消息。妻子客户端应用程序将超时等待响应 - 此时有一条消息说该数据不可用,但会尽快处理。在这种情况下,消息很重要,我们稍后会处理死信。