码迷,mamicode.com
首页 > 编程语言 > 详细

秒杀活动java怎么实现

时间:2020-02-21 16:15:16      阅读:218      评论:0      收藏:0      [点我收藏+]

标签:直接   后台   htm   失败   str   另一个   blog   消息队列   服务端   

秒杀与其他业务最大的区别在于:秒杀的瞬间:

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

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

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

  第一种处理:某个商品可秒杀的数量是10,那么在秒杀活动开始之前,把商品的ID和数量加载到缓存,比如:Redis。服务端收到请求的时候,首先减一下Redis里面的数量,如果数量减到0随后的访问直接返回秒杀失败。也就是说,只有10个请求最终会去实际的请求DB。

  第二种处理:先把请求写到消息队列,做一个缓存,然后再去慢慢的更新数据库。这样做以后,前端用户的请求可能不会立即得到响应是成功还是失败,很可能得到的是一个排队中的返回值,这个时候,需要客户端再去服务端轮询,因为我们不能保证一定就秒杀成功了。当服务端出队,生成订单以后,把用户ID和商品ID写到缓存中,来应对客户端的轮询就可以了。

相关问题:https://blog.csdn.net/icangfeng/article/details/81201575

秒杀活动java怎么实现

标签:直接   后台   htm   失败   str   另一个   blog   消息队列   服务端   

原文地址:https://www.cnblogs.com/lgg20/p/12341623.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!