- 作者:老汪软件技巧
- 发表时间:2024-10-08 11:01
- 浏览量:
如果你觉得这篇文章对你有帮助,请不要吝惜你的“关注”、“点赞”、“评价”、“收藏”,你的支持永远是我前进的动力~~~
本文是我在做网易考拉海购性能优化时的真实实践,希望对你也有帮助!!!
一、优惠券的作用
优惠券在电商中扮演着多重角色,其作用主要体现在以下几个方面:
吸引顾客:通过发放优惠券,电商平台可以吸引新顾客尝试购买,以及激励老顾客再次购买,从而增加网站的流量和转化率。促进销售:优惠券能够直接刺激消费者的购买欲望,增加商品的销售量,尤其是在促销活动中,优惠券常常作为推动销售的有效工具。清理库存:对于即将过季或滞销的商品,通过优惠券可以更快地清理库存,减少损失。用户粘性提升:定期为顾客提供优惠券可以增加顾客对电商平台的忠诚度和粘性,促进重复购买。市场调研:通过优惠券的使用情况,电商平台可以收集消费者行为数据,分析顾客偏好,为市场营销策略提供依据。价格歧视:优惠券可以实现价格歧视策略,即对不同顾客群体提供不同的价格,最大化收益。促销活动宣传:优惠券常常与特定的促销活动相结合,通过优惠券的发放来宣传促销活动,提高活动的知名度和参与度。增加购物体验:顾客在享受优惠的同时,也能获得一种购物满足感,这种体验感的提升有助于建立品牌形象。数据分析:通过优惠券的使用情况,商家可以分析促销活动的效果,优化未来的营销策略。竞争策略:在竞争激烈的电商市场中,优惠券可以作为竞争策略的一部分,帮助商家在价格战中占据有利位置。
总之,优惠券是电商营销组合中的重要组成部分,它通过多种方式促进了电商平台的销售增长和品牌建设。
二、优惠券派发基本流程
基本派发流程基本如下:
基本信息校验:计数校验:用户类型校验:风控校验阶段:更新计数:派发数据落库:异步抄送风控:
整个流程的设计旨在确保优惠券的发放公平、合理,同时防止欺诈行为,保护电商平台的利益。
三、多种方案对比
同一个业务流程,有多种技术实现方案,但都有着各自的优缺点。
我们设计了四种不同的方案及其优缺点。具体如下:
常规数据库计数 - DB全搞定DB分片计数:为了解决热点,我们又设计了DB分片计数的方案缓存计数,定期统计DB并修正缓存计数缓存计数 + DB记录增减流水 - 促销现用的方案黑科技:AIISQL/MySQL线程池/合并提交四、网易考拉海购的方案
为了应对网易考拉海购的高并发场景,同时又要防超发,我们最终设计了如下的方案,结合了DB和缓存的特性,达到了高并发及防超发的目的。
我们的目标是结合各方案的优点:
支持高并发缓存计数DB分片计数处理好临界点
但又有我们自己的技术要求,既要满足业务的需要不超发,又不能实现过于复杂
不要超发不要丢派发计数不要复杂的调整逻辑不要插流水
最终我们通过redis lua脚本保证缓存操作原子性
缓存不存在时,利用异步、加锁,单线程从DB中统计已派发计数回填缓存
派发计数分片存储,可以派发时,随机选一个分片更新,无事务