传统企业电商峰值系统应对实践

传统企业电商峰值系统应对实践

ID:28368225

大小:67.00 KB

页数:5页

时间:2018-12-09

传统企业电商峰值系统应对实践_第1页
传统企业电商峰值系统应对实践_第2页
传统企业电商峰值系统应对实践_第3页
传统企业电商峰值系统应对实践_第4页
传统企业电商峰值系统应对实践_第5页
资源描述:

《传统企业电商峰值系统应对实践》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、摘要:双11这样的场景要求电商对系统进行合理的峰值架构设计,以保证业务的顺利开展。那么一个能够应对短时间流量暴涨的电商系统,在同时考虑成本因素的情况匚具体会遇到哪些瓶颈,主要需要解决哪些层面的技术障碍呢?近年来,随着电子商务交易额在社会消费品零售总额屮占比的不断提升,电子商务越来越成为传统企业不可忽视的销售渠道z—,甚至很多具备前瞻性眼光的传统企业,已开始了利用电子商务手段改造其线下业务的探索。但是,传统企业在执行电子商务项冃的过程中,特别是在应对峰值方而,由于对互联网峰值架构的不熟悉,经常出现一些认识上的误区,造成系统

2、上线后出现不稳定甚至连续宕机的情况,不但在经济上造成损失,而几对企业的品牌也造成了伤害。作为电了商务技术与服务提供商,商派已执行了近T个传统企业的电商项冃,收获了很多的经验与教训。下面我们就传统企业电商峰值系统的设计®维护过程中常见的问题进行探讨。在一个典型的电商系统中,核心对象主要有三个:会员、商品和订单。整个系统主要是为消费者服务,运营模型以流量与用户量为核心,流量以导入新客户为主,用户量代表着老客户的贡献。无论是人规模进行新客户获取还是老客户营销,都会给系统带來极大的压力,其小特别是限时抢购、秒杀等营销方式尤为明显

3、,这就要求我们对系统进行合理的峰值架构设计,以保证业务的顺利开展。那么一个能够应对业务峰值的电商系统,在同时考虑成本因素的情况下,具体会遇到哪些瓶颈,主要需要解决哪些层而的技术障碍呢?大规模査询优化对会员与商品的大规模查询是一个常见的场景。例如,在一个秒杀系统中,在开放购买的吋间点附近,会产生大量的基于会员和商品的查询请求,通常情况下,比平时的请求量会多数十倍甚至百倍,同时访问带宽也会相应大幅增加。在我们以往的运维实践中,曾经出现过由于带宽预估不足造成无法访问的情况。应对类似的人规模杏询业务,只依靠数据库的能力是远远不足

4、的,因此,我们需要用到人量的缓存架构,将峰值的访问压力由磁盘转向内存。一般来说,商品的主数据、会员的登录,系统的Session>页而都可以采用Memcache、Redis、Varnish等KV架构进行缓存。另外,某些动态数据在特定业务场杲下也可以进行缓存。例如,由于库存量在下单前只用于控制前台是否可售展示,对一致性要求不高,只要求保证最终一致性,因此也可以在此场景下使用内存进行缓存。商品搜索和基于属性的面包屑导航等场景,在峰值下对数据库的压力也非常明显。由于该业务不具备高命屮率的特征,所以缓存解决方案不适用。我们通常需要

5、使用搜索引擎去解决,—•般常见的搜索引擎解决方案有Sphinx、Lucene等。前台的应用服务器需要设计成无状态的可水平扩展架构,这样在高负载下只要通过简单地增加应用服务器即可通过负载均衡设备线性扩展前端的负载能力。分布式架构设计一个完整的电商系统,分为前台交易系统与后台作业系统,前后台共库是传统企业在设计电商项冃时的一个常见做法。但这个做法引发了上线后的诸多麻烦。在前台交易系统处于峰值情况卜-,数据库本身已存在很大的压力,此时如果后台作业系统产生大规模的查询或写入请求,则很容易造成数据库无法响应。我们在很多客户案例屮发

6、现,如果前后台共库,正常非峰值情况卜,每H订单数只要超过2000单,就会不同程度地出现前后台互相干扰,数据库成为主要瓶颈。此时,客户不得不在系统高峰时停止在后台作业系统上的操作,这给业务造成了很大伤害,发货延时、客服水平下降、统计不准确等情况成了家常便饭。实际上,从架构上来说,前台交易系统与后台作业系统服务的用户对彖不同,前者是消费者,后者是企业内部员工,完全可以进行系统分离,两者Z间采用消息队列进行界步订单传输,以隔离互相Z间的影响。当然,对于交易系统,我们也要根据业务特征进行分布式设计,提升业务扩展性、应对高负载。例

7、如对商品货架系统、会员系统、核心交易系统、资金系统、日志系统等以高内聚、低耦合的原则进行分离,以分別根据不同的访问特征进行优化。根据分布式架构的CAP理论,Consistency(一致性)、Availability(可用性)和Partitiontolerance(分区容忍性)最多只能同时满足两点。对于一个峰值系统而言,分布式(分区)设计是必然的,可用性也是基础要求,因此,我们只能放弃一致性要求,只达到最终一致性。不过,在一个电商系统的架构设计中,最容易出现的问题是滥用CAP原则。例如在交易过程屮,示台的供应能力(库存)是

8、至关重要的,在交易生成过程必须要保证严格一致性,而不是故终一致性,这就要求我们以事务的方式来解决。杏则,虽然在架构实践中很容易达到从容应对峰值访问的目的,但超卖等伤害业务的现象必然会出现。在分布式系统设计屮,必然要求我们采用面向服务的体系结构(SOA)。但需要在设计中注意几点。第一,在峰值系统中,每一个多余字节的传输

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。