做抢购类型的业务的时候首先要看业务情况,如果只是内部活动,比如年终年会抽奖,竞赛抢答这种不涉及财务的高并发,这种需求不会涉及到脚本等不公平竞争的情况,需要一个超级管理者,开启抢答权限,人数少的情况下可以直接对程序加锁,因为不涉及后续业务处理,只需要现场确定谁抢中,并发效率很高,参与人数多,可以使用CAS,并发可达几千。
做生产的抢购业务较为复杂。
前端:1.动静分离,CDN加速 2.限流,禁止重复提交,到点开放按钮,单位时间单次点击 3.接口防刷,URL动态化
后端:1.redis 保存库存,抢到就生成一个订单号,然后所有的其他信息放到mq削峰 2.单一职责,独立服务器 3.,Redis集群,
主从同步、读写分离,我们还搞点哨兵,开启持久化高可用 4.扣减redis库存,用LUA,管道,乐观锁等,
4.降级熔断隔离 5.数据库分库分表 6.TCC及最终一致性丢弃(效率低),采用2PC 3PC
风控:丢弃有任何疑问的USERID
做抢购类型业务的思路
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 下面选了最近十年里,十位名人所做的毕业演讲。那么多的故事与经历,其实只想告诉你一件事: 面对迷茫和不确定的未来,我...