1 问题

Whenever you expose a web service / api endpoint, you need to implement a rate limiter to prevent abuse of the service (DOS attacks).

Implement a RateLimiter Class with an isAllow method. Every request comes in with a unique clientID, deny a request if that client has made more than 100 requests in the past second.

这是一个流控问题。

2 输入

Request:

client ID和时间戳timestamp

3 输出

true or false

4 思路

保存每个client ID过去1s的所有请求。

数据结构?

5 关于guava的RateLimiter

5.1 RateLimiter在下列应用场景中的应用

https://www.cnblogs.com/yeyinfu/p/7316972.html

5.2 RateLimiter用在接口中不会超时吗?

比如限制访问数据库,每秒不超过10,使用RateLimiter的本质是每个请求等待0.1秒。这不会导致请求超时吗?

5.3 抢购场景降级 tryAcquire()

6 限流算法:令牌桶算法和漏桶算法

转载于:https://www.cnblogs.com/hustdc/p/10950253.html

rate limiter - system design相关推荐

  1. 【架构师必知必会系列】系统架构设计需要知道的5大精要(5 System Design fundamentals)...

    无论是在大厂还是初创公司,技术产品经理 (TPM)都需要具备系统设计的基础知识.从历史上看,系统设计基础知识通常是软件工程师在面试时的要求,而 TPM 不受此期望的约束.然而,现在趋势正在发生变化.作 ...

  2. 【Paper】2015_Active fault-tolerant control system design with trajectory re-planning against actuator

    Chamseddine A, Theilliol D, Zhang Y M, et al. Active fault‐tolerant control system design with traje ...

  3. Machine Learning week 6 quiz: Machine Learning System Design

    Machine Learning System Design 5 试题 1. You are working on a spam classification system using regular ...

  4. Coursera公开课笔记: 斯坦福大学机器学习第十一课“机器学习系统设计(Machine learning system design)”

    Coursera公开课笔记: 斯坦福大学机器学习第十一课"机器学习系统设计(Machine learning system design)" 斯坦福大学机器学习斯坦福大学机器学习第 ...

  5. TI mmWave radar sensors Tutorial 笔记 | Module 4 : Some System Design Topics

    本系列为TI(Texas Instruments) mmWave radar sensors 系列视频公开课 的学习笔记. 视频网址: https://training.ti.com/intro-mm ...

  6. UVa 11400 Lighting System Design

    题目:Lighting System Design 题意: 来自luogu-- 给定 n(n≤1000)n(n≤1000) 种类型灯泡,每个灯泡给出其电压 v(v≤132000)v(v≤132000) ...

  7. 上周 GitHub 热点速览 vol.08:系统设计必看 The System Design Primer

    作者:HelloGitHub-小鱼干 摘要:GitHub Trending 上周看点,老项目依旧抢眼,系统设计必看 Repo:The System Design Primer 周获 1k+ star, ...

  8. System Design [youtube搬运] Tinder 笔记

    System Design: Tinder as a microservice architecture 原视频链接 https://www.youtube.com/watch?v=tndzLznxq ...

  9. System Design [youtube搬运] Whatsapp 笔记

    原视频链接 https://www.youtube.com/watch?v=vvhC64hQZMk Whatsapp是基于chat的APP,了解了Whatsapp的design有助于了解其他所有聊天类 ...

最新文章

  1. java实现验证码功能
  2. 构建稳固的、可升缩的CSS框架的八大原则
  3. 实时人脸关键点源码推荐
  4. ElasticSearch Shard——本质上是做分布式扩展,副本对于集群的稳定性有很强的影响...
  5. 数据结构和算法基础概述
  6. 计算机专业考研数据结构比较,计算机专业考研科目:数据结构重点汇总
  7. SAP MIGO的界面中Document Overview部分,可以不让一些单据在这里显示。
  8. 关于websocket
  9. CSS:CSS 在工程中改变——面向对象的CSS (OO CSS)
  10. 突然无法连接数据库了(解决了)
  11. FCC 中级算法题 Where art thou
  12. Eclipse导入Zookeeper源码Version2017.11.3
  13. 使用gdaldem生成山体阴影——thematicmapping.org译文(二)
  14. 转: 技巧/诀窍:在ASP.NET中重写URL
  15. 计算机硕士工资一览表 08年各大IT公司薪水行
  16. 查看本地MSN帐号和密码
  17. Topaz Adjust AI Mac
  18. c语言入门经典的作用,C语言入门经典
  19. 外贸企业邮箱注册申请,阿里qq腾讯邮箱对比选择
  20. Android体重档案代码,Android开发实现的标准体重计算器功能示例

热门文章

  1. firewalld/iptables防火墙维护和状态查询命令(防火墙重载,区域操作命令,开启服务或端口,堵塞端口,iptables规则添加和删除)
  2. OSI模型 TCP/IP模型 数据包结构
  3. html5手机网站照片查看器,PhotoSwipe
  4. vga显卡下载 linux,下载:NVIDIA显卡Linux驱动190.53正式版
  5. 下载MySQL并创建桌面数据库_sql桌面数据库
  6. pypark hive 开启动态分区_Hive分区与分桶
  7. PHP提高redis命中率,怎么提高redis缓存命中率
  8. 基于python的随机森林回归实现_PYTHON | 随机森林实战(代码+详解)
  9. bios免电池补丁_补丁和权限 处理器漏洞多大这样看
  10. html的文档类型三种,XHTML文档类型