0

我在询问特定情况下 RESTful 服务的场景。假设这是一个文件删除服务。用户提交订单,然后在一段时间(1-10 分钟)后,一个 pdf 文件可供他们下载。所以我带来的基础知识:

  • 用户使用 GET 方法向网络服务提交订单(编辑:或 POST)
  • webservice 返回一个orderidviajsonxml
  • 发生一些背景和人为过程(1 - 10 分钟)

  • 用户通过将 传递orderid给 Web 服务来检查订单的状态

  • 如果订单已准备就绪,则将 astatusCode和 apdfLink返回给用户
  • 否则只statusCode返回(即仍在处理、失败等)

现在,关于这种情况的问题是用户(其他网站)应该多久尝试一次获取一个特定订单的状态?

我们需要建立一个双面网络服务吗?喜欢:

  • 服务器 A 向 B 提交订单
  • B 通知 A 订单已准备就绪
  • A请求BpdfLink
  • A 将 pdf 文件从服务器 B 传输到 A
4

1 回答 1

1

当服务器 A 向 B 提交订单时,它还可以指定一个 url,如果订单准备好,它期望调用该 url。这样服务 B 不需要知道服务 A 的具体情况,它只是调用服务 A 指定的 url。

服务 B 提供给服务 A 的响应,还可以包含下载订单的 URL。

这可以防止从服务器 A 轮询到服务器 B,从而显着降低服务 B 的负载。

于 2013-09-29T11:26:21.173 回答