Java高并发秒杀业务场景分析

1 秒杀场景

商品秒杀,抢红包,抽奖等

2 技术特点

读多写少,高并发,资源冲突(短时间内突发性高并发请求)

3 应对策略

读多写少

  • 缓存:把热点数据丢到缓存中,浏览器缓存,本地缓存等

高并发

  • 限流:延迟处理策略,拒绝访问
  • 负载均衡:使用nginx实现反向代理和负载均衡
  • 缓存:使用redis,memcache等,减轻服务器和数据库压力
  • 异步:将同步的并发请求转移为异步,提高响应速度
  • 队列:rabbitMQ,activeMQ等,实现应用解耦,工作队列减轻服务器压力,提高响应速度

资源冲突

    ● 数据库锁

            ● 乐观锁:版本号机制,CAS操作

            ● 悲观锁:行锁,表锁,读锁,写锁,select * from tb_xx for update

    ● 分布式锁

            ● reids的setnx指令

            ● redis的RedLock算法

            ● zookeeper有序节点

    ● 其他原子操作

           ● incr

           ● decr

4 应用架构及解决方案

Java高并发秒杀业务场景分析_第1张图片

你可能感兴趣的:(Java高并发秒杀业务场景分析)