什么才叫真正的商用级秒杀系统?
Posted CodeSheep
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了什么才叫真正的商用级秒杀系统?相关的知识,希望对你有一定的参考价值。
同为高并发,微博热搜、天猫秒杀、12306 抢票有什么不同呢?
1、微博热搜
「微博热搜」是一个典型的读多写少场景,读今日的热点新闻,写自己的微博评论。
作为一个后端开发,看到“读多写少”,第一反应就应该想到要加缓存。
可是,为什么微博总是宕机,抵挡不住 xxx 明星出轨新闻流量?
对微博来说,难点在于热点无法预测,在面对突发流量时,如何快速扩容。
2、电商秒杀
电商秒杀的大部分做法都是先定日子,然后上报要参与的秒杀商品,最后倒计时秒杀。
也就是说什么时候会有秒杀活动,哪些商品会参与秒杀,这些数据在秒杀前服务端是都可以获取到的。
有了热点数据之后,服务端可以在秒杀开始前,先加载好相关热点数据的缓存,做好预热。
同时,在秒杀前做好相应的限流、扩容准备,以应对即将到来的突发流量。
3、12306 抢票
12306 抢票是一个类秒杀的业务,其核心为:查票、买票。
那么,12306 的秒杀和电商的秒杀有什么不一样吗?
电商秒杀:
秒杀的对象是商品,一个商品的 sku 个数总是有限的,客户端直接将用户想要购买的 skuId 传给服务端即可。
12306 抢票:
秒杀的对象是票。
“票”是一个很特殊的商品,比如从杭州到北京,沿路会经过若干个站点。
起始站点、车次、时间,各种不同的选择会组合出各种不同的结果,即便是“查票”这一个功能,服务端可能也需要大量的计算。
不同的组合方式可能就是不同的下单行为,而秒杀,直接秒对应的商品即可。
这也就是为什么大家再说高并发的时候,总是会不约而同的想到12306的原因。
不得不承认,12306的系统架构确实牛,说他是最复杂的购票系统都不为过。
那么你知道,想要承载亿级的高并发,你都需要get哪些技能吗?现在很多公司面试的时候都要求有高并发经验。
现在正好就有这样一个机会,即使你没有碰过高并发的项目,面试的时候也可以和面试官侃侃而谈!
BATJ名师授课,在线答疑!
限时免费,而且现在添加小姐姐还能白嫖超多学习资料!
Java学习路线+大厂面试真题+N种学习资料等你来哦~