Azure服务总线等待响应

Pat*_*ode 3 asp.net-mvc servicebus azure

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

  1. 网站用户想要获取项目列表.他们按一个按钮来请求列表
  2. 按钮单击将请求发送到Azure队列
  3. 网站等待响应(在同一网页的ASP.NET中,同一个会话?)

移动应用程序的体验也是如此

mka*_*kaj 8

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

  1. 客户端(网站SPA - 我们称之为"妻子")会调用自己的后端服务器API.
  2. 服务器将请求发布到消息队列(队列A).
  3. 另一个系统(我们称之为"丈夫")订阅了消息队列A,处理请求并向另一个队列(队列B)发布响应.
  4. 步骤2中的服务器订阅了消息队列B并且一直在等待响应.它会查看队列,检查响应是针对步骤2中发送的相同请求,并在步骤1中响应客户端.

效果很好.如果丈夫(在步骤3中)离线,无论出于何种原因,它会在他回醒并发布响应时处理该消息.妻子客户端应用程序将超时等待响应 - 有消息说,该数据是在这个时候无法使用,但会尽快处理.在这种情况下,消息很重要,我们稍后会处理死信.