淘宝商品秒杀的架构在设计过程中需要考虑到哪些问题?

淘宝商品秒杀的架构在设计过程中需要考虑到哪些问题?,第1张

大家都知道,只要我们讨论到电商平台,那自然少不了商品秒杀的话题,而且如果去电商类互联网公司面试,那面试官肯定也会问你如何实现商品秒杀系统的架构设计。可能有很多人不屑一顾,商品再怎么秒杀,不就是一群人抢数量有限的商品吗?有什么难的?

其实我要说的是,对于小型电商平台而言实现商品秒杀感觉的确很简单,但对于像淘宝这类的电商巨头平台而言,商品秒杀系统的设计真的很不简单,要考虑的事项太多。

秒杀系统的本质及常见问题

所谓商品秒杀,说得通俗点就是一大群人在短时间内去抢购为数不多的商品。听上去很简单,但是对于流量较大的电商平台而言,商品秒杀系统如果设计得不好,会出很大问题的,比如:

1、对网站现有业务会造成冲击

秒杀活动是一种营销手段,这会导致在某一刻会吸引很多人来抢购,并发量过大会对现有业务造成冲击,甚至可能导致网站瘫痪。所以像之前的小米发布新品,很多人连登录都登录不上就是这个原因。

2、服务器带宽洪峰

商品秒杀页一般都会设计得比较个性,所以资源也较多,在高并发场景下会导致服务器流量突增,所以要考虑服务器的带宽是否足够。

3、服务器及数据库负载过高

相信大家都参加过秒杀活动,回顾一下,我们是不是在秒杀活动开始前习惯性的一直刷新页面很多用户都是这样,一直刷新页面,这样就变相的增加服务器及数据库的负载。

4、防止机器提交下单请求

这一点尤为重要,就像一些刷票软件一样,有人为了能秒杀到商品会利用机器进行秒杀,机器发出的请求比人为发出请求总是要快一步的。

5、成功秒杀了,但商品数量却不够

如果是这种情况,那估计就会受到投诉了,明明提示我秒杀成功了,但商品数量却显示0,这种逻辑错误不能犯。

秒杀系统该如何设计?

其实秒杀系统的核心问题是全局性和原子性 *** 作,另外还要考虑到高并发带来的冲击。结合我的开发经验,给出一些设计方案供大家参考:

1、秒杀系统设计的思路

一定要用到队列(可以理解为“排队”机制),当秒杀活动开始后,所有的请求往这个队列里放,另外这个队列长度是有限制的(队列长度就是商品数量),当队列数达到后,活动页面就提示活动结束,然后队列里的请求再去进行下一步处理。

2、秒杀系统独立部署

为避免秒杀活动给现有业务带来冲击,我们建议秒杀系统单独部署(独立域名+服务器)这样即使秒杀系统瘫痪了也不会影响现有电商业务的运行。

3、活动页静态化+CDN加速

为减小系统负载、加快页面打开速度,我们建议活动页面要静态化处理(这样比动态页面性能要好),再走CDN加速,这样能保证多数用户访问活动页的速度都是很快的,不会卡顿。

4、下单页URL动态生成

为防止机器下单和提前下单,下单页的URL要动态生成,不能固定不变的。

5、服务降级

在双11期间,我们会发现淘宝及支付宝很多不重要的功能都是禁用的,这就是服务降级。服务降级是指停止一些不重要的服务,将资源让给秒杀系统,以提高其负载能力。

以上就是我的观点,对于这个问题大家是怎么看待的呢?欢迎在下方评论区交流~我是科技领域创作者,十年互联网从业经验,欢迎关注我了解更多科技知识!

以下内容来自于淘宝网的:开源绿色计算 主要用在CDN的节点服务器上,可以点进去了解更多

随着淘宝用户数和访问量的增加,网络上部署的服务器数量也在不断的增长。为了保障用户体验,淘宝在全网部署了几十个用于加速的WebCache节点,服务器的数量达到数千,其每天消耗的电量非常惊人。在整个淘宝网运营成本中,电消耗成本已占了相当比重并逐年增加。因此,节约服务用电量,已经成为不得不考虑的问题。最直接的方法,就是在满足性能要求的前提下,采用比传统服务器省电的低功耗服务器。定制低功耗服务器,就成为降低能耗的主要方案。

目前市场上的低功耗服务器,与传统服务器的主要区别,在于采用了低功耗CPU。低功耗CPU在带来低功耗的同时,也损失了处理速度。因此,消耗CPU资源少的应用,是低功耗服务器首要应用场景。从目前淘宝整个服务器体系看,满足这一要求的是CDN web cache服务器。因此,淘宝网的低功耗服务器的定制实践,始于Cache服务器的应用需求。

传统的低功耗处理器,其节省功耗的原理,是在原有高性能处理器的基础上,通过控制处理器在闲时的主频和耗电,同时简化乱序处理的逻辑模块,来减少不必要的消耗。但受限于原有的高性能架构,整体功耗降低效果并不明显,特别是在IO密集型的业务上。而用于静态内容加速的CDN web cache服务器,主要功能正是对静态的网页和进行读写 *** 作,属于IO密集型业务。因此,针对IO密集型业务,我们需要寻找区别于以往传统的、更低功耗的处理器及其服务器方案。

基于上述背景,由淘宝针对自身的需求,在Intel和美超微等厂家的支持下定制了一款绿色低功耗的服务器。在该服务器定制完成并且进行一定规模应用的基础上,联合Intel和超微等硬件厂家共同发起开源“绿色计算”项目。该项目的主要目标是推动互联网整体硬件基础设施(包括服务器、网络设备、IDC机房、机架和电源等)的节能环保;项目组织方式是采用多方合作的机制吸纳业内同行共同参与该项目,项目的运转方式是根据不同的设施类型分成不同的子项目,分别有特定的参与方负责推动在该方向上“绿色”设备的定制化、产品化和规模化;项目的成果将以开源的方式发布到项目网站上供业内的人士分享。目前该项目只ATOM低功耗服务器这一款定制化的“绿色”产品,后续希望能够有更多的同行参与该项目,开发其他方向上的“绿色”设备,共同推动“绿色计算”产业的发展


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/13492460.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-08-18
下一篇 2023-08-18

发表评论

登录后才能评论

评论列表(0条)

保存