找到编号。最后一分钟的请求数量

时间:2018-10-01 08:13:07

标签: algorithm

随机发出请求,返回最近1分钟内的请求

这是Microsoft技术采访中提出的一个问题。我找不到有关此问题的更多详细信息。谁能建议解决问题的方法

2 个答案:

答案 0 :(得分:2)

这确实是一个有趣的问题,它是基于节流思想运行的多个云服务的基准。节流背后的思想是限制给定客户端每秒的请求数量,具体取决于他所支付的吞吐量。此类服务的一个示例是来自AWS的DynamoDB。

由于云服务通常具有高级别的客户端和流量,因此必须设计一种可以在高负载下工作的大规模解决方案。队列确实是处理这种情况的首选数据结构。但是,每分钟使数百万个事务入队和出队是否有效?避免队列过多的一种通用方法是通过批处理引入精确的权衡。

一个深入定义此概念的博客是:https://medium.com/@saisandeepmopuri/system-design-rate-limiter-and-data-modelling-9304b0d18250

让我知道您是否需要更多有关此说明。干杯!

答案 1 :(得分:1)

排队。

向队列尾部添加新请求。

在每次添加之后和检查之前,从队列头中删除太旧的对象。

需要检查时-返回队列大小