美文网首页
(3)限流-削峰填谷<架构解决方案>

(3)限流-削峰填谷<架构解决方案>

作者: hedgehog1112 | 来源:发表于2020-12-03 09:37 被阅读0次

高并发常规手段:扩容、静态化、限流、缓存、队列

概要:guava的RateLimit、Nginx + redis + lua、sentinel

1、过度设计失败案例:

生成订单号—扣库存—生成订单—付款,扣完库存通知mq,mq没立刻返回,卡在生成订单上,阻塞

2、guava的RateLimit限流(令牌桶)

    1)每次请求获1个token2s才可从桶中获取10个,每秒只能5个并发

2)应对突发流量:一次拿完5个,等1s,因为放5个要1s。

acquire前休眠1s,限流效果变化,因为已经放入足够。

3)从慢速过渡到平均:设置缓冲时间

3、Nginx + redis + lua实现限流限流

1)开启Nginx限流

2)每个Nginx节点对应着独立的redis节点。

redis节点存限流配置:限流名单、错误码、提示、阈值、开关。

请求来临,Nginx向redis发起evalsha命令,执行lua脚本,验证是否超过阈值:

    (1)目标url作为key,调用redisincrby增加访问次数expire设置过期时间

    (2)最后根据阈值判定走向,ps:阈值到,要等key过期重新计算

4、sentinel限流及其他

轻量级,低侵入,熔断降级

其他:分段秒杀、答题、验证码

mq部分:https://www.jianshu.com/p/886552f434d4

相关文章

  • (3)限流-削峰填谷<架构解决方案>

    高并发常规手段:扩容、静态化、限流、缓存、队列 概要:guava的RateLimit、Nginx + redis ...

  • kafka优化笔记

    1 mq的作用 解耦、异步、削峰填谷 2 kafka架构 1)Producer :消息生产者,就是向 kafka ...

  • 高并发

    读多写少用缓存写多读少用缓冲(mq)。mq针对大量写入,保护应用,应对高并发秒杀:mq削峰填谷,接口限流。请求合并...

  • 论“削峰填谷”

    第一是关于用车,上海外地车牌在早晚高峰期的时候进入外环,某些路段需要受限制。 第二是关于用电,夏天电高峰的时候控制...

  • 总结

    停机避峰,检修维护!削锋填谷!向善为公

  • 2020-03-25春季策略 申万

    A股的“削峰填谷”:三次“填谷”,春季行情,春夏之交再躁动,三季度科技需求回补与“十四五”规划共振;三次“削 峰”...

  • MQ之削峰填谷

    MQ,如何做到削峰填谷 - babylovewei的博客 - CSDN博客

  • 资料分析(花生十三知识总结)

    1.加法之尾数法、高位叠加法、削峰填谷法、凑整法 尾数法:后两位来确定(有安全感) 高位叠加: 凑整法: 削峰填谷...

  • MQ实战-削峰填谷

    对于突然到来的大量请求,您可以配置流控规则,以稳定的速度逐步处理这些请求,起到“削峰填谷”的效果,从而避免流量突刺...

  • Sentinel匀速模式(削峰填谷)

    一、什么是削峰填谷: 某瞬时来了大流量的请求, 而如果此时要处理所有请求,很可能会导致系统负载过高,影响稳定性。但...

网友评论

      本文标题:(3)限流-削峰填谷<架构解决方案>

      本文链接:https://www.haomeiwen.com/subject/ovspwktx.html