Java详解:淘宝秒杀脚本java

  • Post author:
  • Post category:java




造成雪崩的真实场景



1.4.1 服务提供者不可用


  • 硬件故障:

    如网络故障、硬盘损坏等。


  • 程序的 bug:

    如算法需要占用大量 CPU 的计算时间导致 CPU 使用率过高。


  • 缓存击穿:

    比如应用刚重启,短时间内缓存是失效的,导致大量请求直接访问到了数据库,数据库不堪重负,服务不可用。


  • 秒杀和大促:

    服务短时间承载不了那么多请求量。



1.4.2 重试加大流量


  • 用户连续重试:

    比如用户看到界面上没有响应,所以又操作了一遍,结果又增加了一倍请求量。


  • 程序重试机制:

    比如代码中有多次重试的逻辑,一次失败后,过几秒后再重试,重试个三次就取消重试,走异常处理分支了。也是增加了请求量。



五、如何防止雪崩



方案

出问题前预防:限流、主动降级、隔离

出问题后修复:熔断、被动降级


「本篇主要来讲解熔断机制。」

后续几篇会讲解其他方案。



六、熔断原理和算法



1.6.1 熔断概念



版权声明:本文为m0_57064830原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。