【问题标题】:Calling api every 30 seconds每 30 秒调用一次 api
【发布时间】:2019-11-21 22:38:20
【问题描述】:

我正在开发一个与第三方 API 交互的客房预订应用。 为了使应用程序大部分时间更新,我需要进行 GET 调用 api 以每 30 秒更新一次可用时间。

我所做的是,我像往常一样创建了一个 GET api 调用,并将其放入 setInterval 30 秒。它可以工作,但想想:一天会有 2880 个 api 调用。这正常吗?

你认为这是个好主意吗?有什么最佳做法吗?

谢谢

【问题讨论】:

  • web sockets 怎么样?可能是一个更好的主意。
  • 我对网络套接字很陌生。但我依赖于第 3 个 API。获取最新可用时间的唯一方法是进行 api 调用。
  • 对我来说听起来像是 DOS 攻击,如果你轮询我的 API,我会很快将你添加到阻止列表中。
  • 好吧,如果您想要实时数据,那么每 30 秒调用一次 API 并不是最佳做法。这就是为什么你应该开始探索 web sockets,如果你使用 typescript,也许 websockets 与 Node.js 对你来说可能更容易。
  • 或者如果您是 .NET 商店,SignalR 可能是一个不错的替代选择:docs.microsoft.com/en-us/aspnet/core/signalr/…

标签: javascript typescript rxjs


【解决方案1】:

为什么需要每 30 秒获取一次实时数据?您是否希望有人每 30 秒通过该系统进行一次预订?请改用缓存。

如果客户提出您调用 api 的请求,您可以缓存此响应,以便其他客户在接下来的 15 秒左右时可以共享相同的数据。但是,如果您在 15 分钟内没有获得其他客户,那么所有投票都是徒劳的。

【讨论】:

  • 好吧。我正在制作这个应用程序以显示在房间前面的触摸屏上。所以它需要随时更新。这样人们就会知道时间表是什么样的。
猜你喜欢
  • 2011-11-06
  • 1970-01-01
  • 2012-06-13
  • 2012-03-26
  • 1970-01-01
  • 2021-10-17
  • 1970-01-01
  • 1970-01-01
  • 2017-11-08
相关资源
最近更新 更多