秒杀的思路和部分技术概述

关于秒杀,给你做,你会怎么做?从架构角度思考怎么实现。

一秒杀的场景业务分析

关于秒杀、抢购、群红包、抽奖等等类似的业务场景可参考本文技术(提供方向),

业务特点为大幅推广,持续时间短,瞬时高并发,

针对业务需要的技术特点为读多写少,高并发,资源冲突

为此技术选型:读多写少选择使用缓存,

                         高并发选择缓存、限流、负载均衡、异步和队列

                         资源冲突选择原子操作包括数据库锁(悲观锁乐观锁)、分布式锁(Redis zookeeper)、其他原子操作;异步

 

二秒杀的技术解析

所以看下技术架构

 

 

现在假设通过第一步的缓存,验证码什么的,最后剩10000的并发进入nginx,这个时候进入nginx采取三个方式处理并发,一是动静分离,静态页面由nginx处理,动态的请求才进入服务由Tomcat处理;二是限流,限制进入服务的请求,限流算法包括令牌桶和漏桶;三是负载均衡有nginx配置不同负载。

经过上述处理后剩下大概1000并发,

此时可以通过分布式限流,包括nginx+lua或者Redis+lua等手段进行,此时剩余800多个请求

此时分给Tomcat集群,假设三个Tomcat,则每个Tomcat并发大概270这样,则压力好一点,可以处理了,用Tomcat抗并发。

如果数字比这个大,你不放心,可以使用异步,使用MQ;

最后使用原子操作操作数据库。

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值