首页 > 解决方案 > 如何设计一个在一小时内只接受 100K 请求的移动 API

问题描述

如何设计一个在一小时内只接受 100K 请求的移动 API。如果在不到 1 小时内请求数量超过 100K,我们必须拒绝该请求。设计这样的 API 需要考虑哪些方方面面。我们不需要存储用户请求。我们的 API 必须接受或拒绝请求,这意味着它必须发送 true 或 false 作为响应。如果我们接受请求,我们必须发送 true else false。

标签: apisystem-design

解决方案


对于设计需要跟踪每小时请求的任何此类 api,我的意见是从 100 开始有一个请求计数器,并为每个到来的请求继续减少一个。如果时间间隔小于 60 分钟且请求计数大于 0,则还保存第一个请求的开始时间和接收新请求的时间允许请求。如果时间间隔小于 60 分钟并且计数等于 0,则拒绝请求,如果时间间隔大于 60,则重置时间和计数器。


推荐阅读