-
小程序商城网站开发秒杀模块篇
在商家店铺运营过程中,秒杀活动是一种比较常见的活动玩法。商家可以通过秒杀活动,短时间内快速圈流量,增加客户关注量,提升品牌知名度。
现在秒杀活动可以直接独立一个模块添加在商城首页。
秒杀功能
一、什么是秒杀
1、活动介绍
规则:在有限的时间内完成超低价的抢购,经常 会结合活动前预热的措施拉新促活
特点:限时性更强,抢购氛围更浓,营造出一种不是所有人都能抢到的刺激感
作用:拉新促销,提升购买率
2、与我们现有的限时促销功能的区别
应用场景不同:限时促销往往是被商家作为-种日常的促销(如我们建站版本的买两年送两年),而秒杀倾向于作为一 种阶段性(限时感更强)的营销
营销效果不同:秒杀的作用是拉新促活,不所有人都能抢到低价的商品,限时促销的话,商家一般会提供充足的库存 ,基本都能抢到。
3、 秒杀业务分析
正常电子商务流程:查询商品;创建订单;扣减库存;更新订单;付款;卖家发货
秒杀业务的特性:低廉价格;大幅推广;瞬时售空;一般是定时上架;时间短、瞬时并发量高;
二、秒杀上架方式
秒杀一般是定时上架该功能实现方式很多。不过目前比较好的方式是:提前设定好商品的上架时间,用户可以在前台看到该商品,但是无法点击“立即购买”的按钮。但是需要考虑的是,有人可以绕过前端的限制,直接通过URL的方式发起购买 ,这就需要在前台商品页面,以及bug页面到后端的数据库,都要进行时钟同步。越在后端控制,安全性越高。定时秒杀的话,就要避免卖家在秒杀前对商品做编辑带来的不可预期的影响。这种特殊的变更需要多方面评估。一般禁止编辑,如需变更,可以走数据订正多的流程。
减库存的操作有两种选择,一种是拍下减库存,另外一种是付款减库存;目前采用的“拍下减库存”的方式,拍下就是一瞬间的事,对用户体验会好些。
用户请求预处理模块经过HTTP服务器的分发后,单个服务器的负载相对低了一些,但总量依然可能很大,如果后台商品已经被秒杀完毕,那么直接给后来的请求返回秒杀失败即可,不必再进一步发送事务了,示例代码可以如下所示:
package seckill;
import org.apache.http.HttpRequest;
/**
预处理阶段,把不必要的请求直接驳回,必要的请求添加到队列中进入下一阶段.
/
public class PreProcessor {
// 商品是否还有剩余
private static boolean reminds = true;
private static void forbidden() {
// Do something.
}
public static boolean checkReminds() {
if (reminds) {
// 远程检测是否还有剩余,该RPC接口应由数据库服务器提供,不必完全严格检查.
if (!RPC.checkReminds()) {
reminds = false;
}
}
return reminds;
}
/*
每一个HTTP请求都要经过该预处理.
*/
public static void preProcess(HttpRequest request) {
if (checkReminds()) {
// 一个并发的队列
RequestQueue.queue.add(request);
} else {
// 如果已经没有商品了,则直接驳回请求即可.
forbidden();
}
}
}
我是建站小哥,商城搭建方面有什么问题不懂的可以私信或我V:kjwenlc。
谢谢您的观看,小程序商城网站开发秒杀模块篇的分享就到这啦!!!
出处:https://www.cnblogs.com/gb699/p/15846730.html