秒杀抢购开发总结

16 篇文章 0 订阅
8 篇文章 1 订阅

1.因为前端页面时间跟服务器时间不一致或者存在网络传输时间

因此后端需要校验当前请求访问的时间是不是在秒杀时间内,如果不存在则不允许抢购

2.秒杀肯定是要部署多台服务器,如果存在库存或者其他的统一的问题,需要注意部署多台服务器的环境

redisClient.setnx(newKey+m,String.valueOf(newValue)) ;
redis的setnx是有锁控制

3.限流控制,接口压测后会有压测数据,根据压测数据,Nginx进行每秒访问次数控制

4.程序接口控制访问人数,如果超过访问次数则限制访问,例如下面的demo

public class SpikeController {


    @Value("${spike.req.limit.count}")
    private int limitCount ;
    @Value("${spike.req.limit.time}")
    private long limitTime ;

    @Autowired
    public SpikeController(){
    }

    @ControllerAdvice
    public class JsonpAdvice extends AbstractJsonpResponseBodyAdvice {
        public JsonpAdvice() {
            super("callback");
        }
    }


    private static AtomicInteger reqCount =new AtomicInteger(0) ;
    private static long startTime =0 ;

    @GetMapping ("/limitreq")
    public CommonResponse limitreq(HttpServletRequest httpServletRequest ){
        CommonResponse resp =null;

        long now = System.currentTimeMillis()/1000 ;
        log.info("count:"+reqCount.get());
        if (startTime==0)
            startTime = now ;
        if(now-startTime<limitTime){
            log.info("限制时间内");
            if(reqCount.get()>limitCount){
                log.info("超过限制次数了");
                resp = new CommonResponse(1001,"") ;
            }else{
                resp = new CommonResponse(1000,"") ;
            }
            reqCount.getAndAdd(1) ;
        }else{
            log.info("限制时间外");
            startTime = now ;
            reqCount = new AtomicInteger(0) ;
            resp = new CommonResponse(1000,"") ;
        }

        return resp ;
    }



}
5.秒杀商品可以利用数据库行锁,也就是常说的 乐观锁处理



  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
京东秒杀是京东商城为消费者提供的一个特殊抢购活动,让消费者有机会以抢购的方式购买茅台酒。而Python是一种广泛应用于计算机编程领域的编程语言。 京东秒杀抢购茅台是指在特定的时间段内,京东商城通过限量发售的方式,让消费者以抢购的形式购买茅台酒。这种抢购方式将商品数量限制在一定的额度,消费者需要在指定的时间内迅速下单并付款才能成功购买。由于茅台酒的稀缺性和价值,京东使用此种抢购方式来满足消费者对茅台酒的需求。 而Python是一种简洁易读的高级编程语言,被广泛应用于数据分析、人工智能、网站开发等领域。其简洁的语法和强大的功能使得Python成为许多开发者和科学家的首选语言。在京东秒杀抢购茅台活动中,消费者可以利用Python编写抢购脚本,使得实现抢购的自动化,以提高抢购茅台酒的成功率。 使用Python编写抢购脚本的关键是通过网络请求模拟用户的操作流程,包括登录、选择商品、提交订单等。通过编写脚本,可以实现自动登录京东商城,自动搜索和选择茅台酒商品,并在抢购开始时自动提交订单,大大提高了茅台酒抢购的效率。 在京东秒杀抢购活动中,使用Python的抢购脚本能够帮助消费者在短时间内完成购买操作,提高了成功购买茅台酒的机会。但需要注意的是,京东也会采取一些措施来防御恶意脚本,因此需要具备一定的编程能力和网络知识才能实现有效的抢购策略。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值