限时抢购核心&实现要素

秒杀抢购系统设计的核心要素。

高并发、响应快、高吞吐量

指标QPS、TPS、响应时间

需要从分布式方案、程序设计等方面考虑。
分布式方案要关注系统瓶颈,用redis代替关系数据库来存储依赖信息,避免跨机房网络请求,使用MQ实现数据库操作异步化

如何保证库存的原子操作

通过 redis->incrby(‘product’, -1) 得到递减之后的库存数。

防刷单

研究算法分析请求尽可能拦截。
DeviceId,IP,UserAgent,Refer,会员ID等参数

语言选择

go、ngx_lua 在高并发和性能方面会更有优势

如何限流

方法及限流 AtomicInteger