怎么做秒杀

2020-07-09 16:33发布

1条回答
那年
2020-07-10 09:38

在这里以java举例:

秒杀与其他业务最大的区别在于:秒杀的时间性,一瞬间,此时有两个问题

(1)系统的并发量会非常的大

(2)并发量大的同时,网络的流量也会瞬间变大。

一个秒杀或者抢购页面,通常分为2个部分,一个是静态的HTML等内容,另一个就是参与秒杀的Web后台请求接口。

如何处理?

1、用缓存,例如:Redis。服务端收到请求的时候,首先减一下Redis里面的数量,如果数量减到0随后的访问直接返回秒杀失败。也就是说,只有10个请求最终会去实际的请求DB。

2、用消息队列,做一个缓存,然后再去慢慢的更新数据库。这样做以后,前端用户的请求可能不会立即得到响应是成功还是失败,当服务端出队,生成订单以后,把用户ID和商品ID写到缓存中,来应对客户端的轮询就可以了。


一周热门 更多>