zoukankan      html  css  js  c++  java
  • 闲来无聊,想了下秒杀、抢购实现方法

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

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


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

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

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

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

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

    memcache 可以也可以多台。

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

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

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

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

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

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

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

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

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

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

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

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

    转载保留链接

  • 相关阅读:
    HashMap源码解读(转)
    使用javascript开发2048
    程序猿接私活经验总结,来自csdn论坛语录
    Cocos2d-x实例:设置背景音乐与音效- AppDelegate实现
    Jenkins(二)
    SVN高速新手教程
    Visio Premium 2010密钥+破解激活方法
    oracle中LAG()和LEAD()等分析统计函数的使用方法(统计月增长率)
    shell语法简单介绍
    memset函数具体说明
  • 原文地址:https://www.cnblogs.com/xwblog/p/2494818.html
Copyright © 2011-2022 走看看