Azure 服务总线等待响应
Azure service bus wait for response
我是 Azure 新手,请原谅。我将让客户端应用程序(Web、移动)向 Azure 服务总线发送请求。这些客户端如何接收从队列中拉取消息并进行处理的工作线程的响应?假设以下场景:
- 网站用户想要获取项目列表。他们按下按钮请求列表
- 单击按钮向 Azure 队列发送请求
- 网站等待响应(在ASP.NET同一网页,同一会话?)
同样的体验也适用于移动应用程序
我们已经使用 Azure 服务总线解决了这个问题,因为我们有两个系统无法通过 API 或其他方式直接相互通信,但两个系统都可以与 Azure 服务总线通信。运作方式如下:
- 客户端(网站 SPA - 我们称之为 "Wife")调用其自己的后端服务器 API。
- 服务器将请求发布到一个消息队列(队列A)。
- 另一个系统(我们称之为"Husband")订阅消息队列A,处理请求并将响应发布到另一个队列(队列B)。
- 第2步的服务器订阅了消息队列B,一直在等待响应。它查看队列,检查响应是否针对步骤 2 中发送的相同请求,并在步骤 1 中响应客户端。
效果很好。如果 Husband(在步骤 3 中)离线,无论出于何种原因,它都会在他醒来并发布响应时处理消息。老婆客户端app会超时等待响应——有消息说此时数据不可用,但会尽快处理。在这种情况下,消息很重要,我们稍后会处理死信消息。
我是 Azure 新手,请原谅。我将让客户端应用程序(Web、移动)向 Azure 服务总线发送请求。这些客户端如何接收从队列中拉取消息并进行处理的工作线程的响应?假设以下场景:
- 网站用户想要获取项目列表。他们按下按钮请求列表
- 单击按钮向 Azure 队列发送请求
- 网站等待响应(在ASP.NET同一网页,同一会话?)
同样的体验也适用于移动应用程序
我们已经使用 Azure 服务总线解决了这个问题,因为我们有两个系统无法通过 API 或其他方式直接相互通信,但两个系统都可以与 Azure 服务总线通信。运作方式如下:
- 客户端(网站 SPA - 我们称之为 "Wife")调用其自己的后端服务器 API。
- 服务器将请求发布到一个消息队列(队列A)。
- 另一个系统(我们称之为"Husband")订阅消息队列A,处理请求并将响应发布到另一个队列(队列B)。
- 第2步的服务器订阅了消息队列B,一直在等待响应。它查看队列,检查响应是否针对步骤 2 中发送的相同请求,并在步骤 1 中响应客户端。
效果很好。如果 Husband(在步骤 3 中)离线,无论出于何种原因,它都会在他醒来并发布响应时处理消息。老婆客户端app会超时等待响应——有消息说此时数据不可用,但会尽快处理。在这种情况下,消息很重要,我们稍后会处理死信消息。