保存成功
保存失败,请重试
提交成功

如何利用 Redis 实现一个分布式“限速器”

作者/分享人:wang新dong
目前就职于某大型电商公司,我不断构建我们的系统使其承受着API网关百亿级流量的洗礼,我对高并发、高可用有着坚定不移的信念,我对线程池隔离、熔断等容错技术有不懈的追求,我对线程模型的优化,全异步调用有执着的热爱。平时热爱写作,也真切的希望写出来的东西能够获得认可。我的信仰:脚踏实地,做一个不飘的架构师。个人著作《架构修炼之道》。

分布式系统的思维早已植根于我们的思维中,本场 Chat 一起重新看一次分布式系统的样子,我们将弄明白它和集群、微服务是一回事吗;以及在分布式系统的环境下我们为何需要一个统一的介质来帮助我们实现分布式的管理组件,比如常见的分布式限流,又或者叫做我们今天要讲的分布式“限速器”;以及这种方式背后的原理等等。本场 Chat 将会带您从分布式系统开始,利用 Redis 去实现一个分布式的“限速器”。

通过本场 Chat 您将会学到以下内容:

  1. 了解集群、分布式、微服务之间的区别
  2. 揭开 Redis 的单线程原理
  3. 了解大访问量下限流的常用方式
  4. 详解“限速器”的原理与实践
已有212人预订
预订达标
文章出炉
     
06月18日
07月02日
本场 Chat 文章已出炉,购买后即可阅读文章并获得一张wang新dong的读者圈Pass
请务必添加GitChat服务号以查看活动进度及获取活动通知。
查看文章评论/提问
Knight²⁰¹⁹🙃🙃2 个月前
总得来说这个篇文章是鸡肋,这种实现在生产上实际是不会采用了,主要有以下几方面原因:一、不能让每次RPC调用redis来判断是否需要限流,因为这样每次RPC都多了一次IO交互。二、单个Redis的写操作最多支持8w的QPS,所以在大规模的服务调用上得堆多少redis集群才能满足?其次内存开销,这个成本也太高了。三、需要保证Redis集群的高可用,如果集群宕机了,那么你的限流也就没啥用了。
shuangyueliao22 天前
那怎么解决,特别是第一点,难道有没有io操作的方法完成限流??
你可能还喜欢
史上最全 Redis 面试题及答案,搞懂这套题征服面试官
ilomilo
面试官,不要再问我三次握手和四次挥手
猿人谷
数据结构算法常见的 100 道面试题全解析:2019 版
攻城狮
怎样的一份“副业”,能让你不依赖“死工资”?
一尘
如何依靠副业赚钱,应对人到中年的职场危机
代码GG陆晓明
Zookeeper 详解与实践,你面试工作都绕不开的必考题!
latent
微信扫描登录
关注提示×
扫码关注公众号,获得 Chat 最新进展通知!
入群与作者交流×
扫码后回复关键字 入群
Chat·作者交流群
入群码
该二维码永久有效