秒杀系统

用于商品数量比较少但是购买者数量特别多的情况下:

1、短时高并发,负载压力大

2、读多写少的场景

3、竞争资源有限不能多卖不能少卖不能重卖

乐观锁:读多写少(数据库乐观锁、缓冲乐观锁)[等待随机事件+重试机制(递归)+mysql version+mysql status]

悲观锁:写多读少(行锁、表锁、页锁、共享锁(读锁)、排它锁(写锁))

乐观锁只是在更新数据的那一刻 加锁,其他的时间不加锁,所以吞吐量更高

数据库并发能力:300~700

redis的乐观锁实现

1、压力尽量拦截在上游

2、能用缓冲的地方尽量用缓冲

3、热点隔离(热点业务隔离)

页面层:验证码

nginx+CDN

分层理念:

  1、

流控:

  令牌桶算法和漏桶算法:

    令牌桶算法:控制平均流量,允许一定程度的突发流量

    漏桶算法:强行控制输出流量

  

原文地址:https://www.cnblogs.com/erdanyang/p/13047377.html