我正在创建一个用户可以同时使用移动应用程序和浏览器的产品。API 以 REST 调用的形式公开。截至目前,这些 REST API 不会被任何第三方调用。
我应该考虑限制 API 调用的速率吗?
简短的回答,是的。那里有图书馆可以做到这一点。但是,如果问题只是是否应该这样做,那么恕我直言,是的。
我已经为个人项目和以前的雇主这样做了,这并不难。就在昨天,一位朋友告诉我他是如何无意中取消了他的雇主正在使用的第 3 方服务。他提高了公司的服务速度,从而导致对 3rd 方服务的更多请求并将其关闭。因此,他的 Web 服务因速度慢而限制了 3rd 方服务的速率。如果第 3 方服务具有速率限制,则可以避免这种情况。
速率限制对于保护下游资源(如数据库)很重要。如果您不保护这些资源,您可能会因流量激增而遇到不可恢复的中断。
与新产品需要的其他东西相比,您优先考虑开发和部署这一点很重要……例如,0.x 版本可能不需要。