基于redis的限流方案理解

随笔写一下首次接触限流的心得。
先啰嗦一下背景:

  • 为什么要做限流
    对系统的出入流量进行控制,维护系统的稳定性,专业的名词,负载保护。
  • 怎么做到限流
    两个方面,怎么检测到限流和怎么去限流,专业名词,限流策略和熔断策略;
    限流策略:写接口,大流量读接口,这次主要看了基于redis的。
    熔断策略; 直接拒绝,排队等待,服务降级,等。
  • 限流的算法
    瞬时限流,时间窗限流,令牌桶限流;
    这里着重看了令牌桶的限流策略,简单描述下:
    它有一个桶的概念,桶中可以放置N个令牌,
    假设用户的平均速率是R,每隔1/R讲一个令牌加入桶中,当令牌达到桶已经满时,这个令牌就会丢弃;
    流量以速率V来到,从桶中去令牌,拿到令牌的通过,拿不到的执行熔断策略。
  • 基于redis的腾讯轻量级全局流控
  • 要限流怎么计数
    使用redis或者ckv(ckv是腾讯自主研发的高性能分布式的kv存储服务,采用冷热自动分离技术,反正很牛掰的样子)
  • 请求量怎么上报
    全量上报和定时批量上报
  • 成熟的计数策略
  1. 管理定时器:能计时的key,1s划分一个key,每个key采用incr方式进行计数
  2. 拉取式限流
    限流方式由流量上报更新为拉取配置,
    该时刻key=20181012111111,value=10000,设置每次拉取配额为1000,那么每过1000个请求就拉取一次配额,没有配额了就执行熔断策略。
  3. 部署方式
    业务流控api
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值