首页 文章

Azure服务总线等待响应

提问于
浏览
1

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

  • 网站用户想要获取项目列表 . 他们按一个按钮来请求列表

  • 按钮单击将请求发送到Azure队列

  • 网站等待响应(在同一网页的ASP.NET中,同一个会话?)

移动应用也会有同样的体验

1 回答

  • 5

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

    • 客户端(网站SPA - 我们称之为"Wife")调用其自己的后端服务器API .

    • Server将请求发布到消息队列(队列A) .

    • 另一个系统(我们称之为"Husband")订阅了消息队列A,处理请求并将响应发布到另一个队列(队列B) .

    • 步骤2中的服务器订阅了消息队列B并一直在等待响应 . 它会查看队列,检查响应是针对步骤2中发送的相同请求,并在步骤1中响应客户端 .

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

相关问题