Day 82 核心交易链路优化

  • 秒杀按钮
    验证码错峰,如何防止盗刷. 动态验证码
  1. 页面静态化(CDN+页面静态化)
  2. 秒杀前答题
  3. redis预扣库存
  4. 扣完后快速通知nginx层 秒杀已经结束
  5. 下单请求存入MQ进行削峰
  6. MQ通知下游服务

预扣减,如果没有库存可以提前结束

image.png
  • 思考:
    秒杀的时候需要很多机器,但是很多时候是没有那么多的请求的,资源闲置的很厉害。 所以需要虚拟化+云计算 进行弹性伸缩。

这些中间件本身也是存在效率低下,容易挂的特点。 怎么样去解决.


限流,降级,拒绝服务.

  • 限流:
    容量达到瓶颈时,限制一部分流量来保护系统。
    qps和线程维度都行.

nginx限流

limit_conn_zone limit_conn 针对的是服务器流量异常,大流量的恶意攻击。
可以进行并发数限制.

针对特定ip的请求速率限流.

Sentinel限流

nacos 推送.

image.png

热点参数限流

热点key发现技术

维护热点key列表

下游三个服务,其中给一个一直耗时久,触发降级服务.

  • sentinel一些专有名词解释


    image.png

拒绝服务

image.png

降级策略 ,以后回过头来看

image.png

你可能感兴趣的:(Day 82 核心交易链路优化)