闲来无聊,想了下秒杀、抢购实现方法

对于秒杀、抢购这种促销活动在电商还是比较常见。

如果东西不错、价格低、推广不错,势必会引来不少流量。


今天闲来想了下实现方法。

本人写PHP的,大致思路代码用php。

 

首先需要做的是用户必须注册登录,流量服务器必须能顶的住。

有钱的公司做个F5负载,也可以用nginx做个负载均衡也不错的。

登录无非把 SESSION 存储到 memcache 实现多台服务器共享。

memcache 可以也可以多台。

抢购页面可以越简单越好,能验证登录基本不要加载过多功能,减少压力。

对于抢购页面的图片,CSS,JS走CND,减少图片服务器压力,提高用户体验。

避免工具恶意抢购,可以开启图片验证码,相信有验证码在,不怕不瞎搞。

 

具体实现:时间一到,用户开抢,直接把数据入队列,比如RabbitMQ ,HTTPSQS。

比如说有三件商品,直接取出队列3个就OK。

后台开启一个守护进程,去取出用户,插到memcache,mysql

插入memcahce给前台展示使用,插入mysql做永久存储。

前台展示只需要读memcache的中的抢中用户就行了。

后台守护进程还有一个功能就是去检查memcache 如果没有命中则重新设置新值。

 

当然考虑memcache 命中问题已经持久化存储,可以考虑用现在非常强大的mongoDB ,原理思路完全一样。

 

这个思路把所有的压力交给缓存,对mysql 不会造成任何压力。

 

鄙人的想法,有更好的方法 可以大家一起讨论。

 

 

转载于:https://www.cnblogs.com/xwblog/archive/2012/05/10/2494818.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值