2021-01-05 09:19:57 阅读(227)
自成立以来,内部技术体系的发展已有15年左右的历史。系统架构也经历了从高集成软件到分布式、低耦合、SOA系统的演变过程,形成了系统架构,全面支持各种在线零售模式,每天支持数千万PV访问,年营业额超过100亿元,2013年双11峰值流量达到日常10倍。当当网上购物流程作为一个典型的自营和开放平台相结合的在线零售电子商务平台,由数百个系统共同实现。当当网最终为消费者服务,良好的用户体验、资金和物资的准确性是基础,因此对系统的稳定性、可靠性和准确性有非常严格的要求。在任何时候都能保证在线系统的稳定运行,是我们工作的第一优先级。电子商务系统的运行高峰通常发生在各种促销和营销活动中,以及大量集中订单带来的生产和分销压力。除了参加每年的双11和双12促销活动,每年的10月店铺庆典,行业内重要的庆祝活动,两个开学季的书籍促销,季节性的服装促销,常规的新产品和尾品促销,当当网每个月至少会有一次公司级别的促销活动,而各种中小型促销活动常年持续。各种促销活动都可以通过闪购、秒杀、大量SKU促销等方式实现。除了新老用户的直接登录外,网站流量的来源还包括网站导航、联盟、搜索引擎、各种在线和离线媒体、短信、电子邮件、微信等渠道。由于流量来源的不同,用户的浏览和购物模式也有很大的不同。例如,许多促销登陆页面是当当网络的“博物馆”或特殊页面,所以我们可以在活动前做非常有针对性的准备;有时用户已经提前准备了购物清单,如双11,订单转换率高于平时,反映在订单订单和商店流量不会成比例上升——如订单订单上升6倍,商店流量可能只会上升3~4倍;一些外部排水方法会带来大量无效和垃圾流量,因此,订单转换率将低于正常流量。有些活动流量会对主页产生很大的影响;有些活动会对购物车产生很大的影响,比如闪购限时购买或者复杂的促销逻辑;有些活动会对当当网的仓储配送系统产生很大的影响,比如当当网配送的订单;有些活动会对开放平台产生很大的影响,比如商家订单。有些活动流量会对主页产生很大的影响;有些活动会对购物车产生很大的影响,比如闪购限时购买或者复杂的促销逻辑;有些活动会对当当网的仓储配送系统产生很大的影响,比如当当网配送的订单;有些活动会对开放平台产生很大的影响,比如商家订单。因此,找出商业模式和活动特点是设计和运维高峰电商系统,即高可伸缩系统的重中之重。但从另一个角度来看,过度设计和服务器部署在没有动态灵活部署的情况下是一种浪费,特别是硬件寿命非常有限,每年都会带来巨大的成本摊销。当当网根据业务发展速度和业务运营规律,结合多年经验,制定了系统可伸缩的设计原则和硬件准备策略,使每个流程能够直接应对每天业务量增长的5倍。通过增加服务器,可以应对业务量增长的10倍。要处理10倍以上的上涨,需要提前进行有针对性的系统优化。但无论当前业务量是否超过设计范围,都不能影响设计范围内业务量的正常处理。大流量、高并发系统的技术方案设计和部署有很多选择,业内有很多成功的经验和案例。然而,根据我们的经验,设计高峰在线零售电子商务应用系统通常面临以下困难。应用架构复杂,业务发展快,迭代快,系统间盘根错节,历史负担重。不仅有牵一发动全身的风险,还有影响主流程处理、耗尽过多资源的边缘case错误的隐患。从前台到后台的业务流程长,用例多。在能承受的最大峰值上,存在短板效应。实现设计时要面面俱到。通常,促销活动持续时间短、集中,早期促销活动已经启动。在活动期间,短期系统不可用,也会带来严重的销售损失和负面影响,没有机会弥补。要保证系统的稳定性,平时要做好工作。针对这些困难,有以下应对策略。基于SOA架构理念,降低系统耦合,界面定义清晰,确保独立子系统强度高,降低跨系统故障扩散的风险,逐步将伸缩困难分解到各系统。对系统进行分级,集中力量,突出重点系统。从商店到交易流程,当当网都属于一级系统,这部分系统直接关系到用户体验和订单量。在系统稳定性和可靠性方面,设计标准高于后台系统。优先采用异步处理代替同步处理,做好系统异常降级方案,确保有限的合格服务。在描述电子商务平台峰值系统的设计之前,您可以简要了解当当网络电子商务平台的几个主要组成部分:商店系统、促销、会员系统、商品管理系统、交易系统、订单管理系统、仓储配送系统、物流配送系统、客户服务和退货交换系统等。对于电子商务网站来说,用户体验是第一位的,系统的稳定运行是保证用户良好体验的基础。在资源有限的情况下,采用系统分级的方式,重点关注高级系统,确保高级系统在设计、部署、监控等方面具有良好的可伸缩性、强度和敏感性,能够应对电子商务业务中不确定的极端峰值影响。当当网基于可能对用户产生影响的程度和敏感性,将所有应用系统分为三级,简单描述如表所示。按照这个标准,当当网的一级系统主要包括店铺系统、商品细节、价格系统、库存系统、促销系统、购物车、交易系统、支付系统、会员系统等。二级系统包括商品信息系统、订单系统ERP、仓储系统、物流、干线运输系统等。三级系统主要是结算系统、报表系统、运营和活动管理系统。一级系统基本上可以分为两类,第一类是用户访问的前端页面,第二类是购买过程中涉及的系统。一级系统的关键指标是可用性。在设计和部署过程中,需要高标准、严格的要求,需要完善的容错降级机制,每天保持较低的系统运行负荷,配置高水平的监控和报警流程,并在所需的SLA标准中修复和解决问题。这两个系统的核心业务功能定位不同,技术也不同。PHP语言主要用于前端页面系统,Java语言主要用于购买过程。前端页面系统是电子商务业务的流量入口。需要解决的核心问题是确保大流量和高并发性的快速显示和可用性。在这方面,行业有一个相对成熟的解决方案,如CDN、缓存、静态化、异步加载、与依赖数据源解耦、同机部署、数据库读写分离等。通过这种设计,前端无状态页面应用程序可以水平扩展,增加Web服务器可以提高系统能力。为了充分发挥系统资源的潜力,提高性能,我们引入HHVM优化和加速PHP代码。经过性能测试和验证,取得了显著的效果,性能提高了100%以上。现在当当网络前端页面系统有能力支持10倍的流量冲击,面对超出极限的流量峰值,我们也有计划,主要延长缓存及时性,本地静态模式,屏蔽后端系统峰值流量的影响,并有容错机制,在后端非关键服务故障优雅显示等。作为一家生成各种活动特殊页面的工厂,商店系统支持通过配置静态页面组件,以满足更高访问量的要求。购买过程是电子商务业务过程中的一个关键环节。一旦出现问题,以往的排水、促销、搜索、推荐等营销结果将被浪费。因此,购物车、交易系统和支付系统必须确保用户购买结算过程的高效和稳定,并确保数据持久性的准确性和一致性。购物车和交易系统逻辑复杂,依赖服务多,其中实现交易流程依赖100多个服务。对核心业务流程进行梳理,然后根据与核心业务流程的关系,区分对服务的依赖性。积分、礼券、收藏夹等弱依赖服务,通过良好的容错降级机制,当业务量达到峰值时,核心业务流程的稳定运行可以通过服务降级来维持。对于强依赖服务中数据变化较小的配置查询服务,通过缓存数据来减少服务依赖关系,牺牲部分数据的及时性来交换系统的强度。交易系统业务,成功率是关键指标,可能由于分布式服务集群例子异常或网络问题导致强依赖服务失败,需要启动重试,考虑用户体验,减少系统资源占用,设置短时间等服务节点更合理。优化后,采购流程的系统可用性指标达到99.99%。大多数二级系统都是后台订单和绩效系统。在流量漏斗模型下,订单在一级系统中形成后,订单转移到二级系统,二级系统面临的峰值压力要小得多。二级系统大多采用异步系统交互。对于超出处理能力的业务数据,异步机制可以在可控压力下运行。系统资源占用保持在较高水位,既能充分利用系统资源,又能保证较高的处理效率。当然,异步机制带来的延迟问题也必须控制在合理范围内,在业务量急剧增加时,可以容忍一定程度的延迟。若平时经常出现延迟,则需要进行优化,或重新规划容量,以提高系统的整体吞吐能力。2014年,为了应对双11和未来的业务发展,当当网扩大了订单系统数据库的容量,达到了之前的5倍,其他系统进一步分为库和表,使其具有承载更高业务峰值的能力。系统分级是根据不同系统的特点,结合公司业务战略重点进行的差异化处理。电子商务业务链贯穿多个系统,每个环节都不容忽视。当然,一级系统是核心优化的重点,二、三级系统的技术指标要求也同样严格。我们对每个系统的可用性都有严格的要求,并将监控系统列为一级系统,始终关注桶理论中最短的板。我们的目标是建立一个电子商务系统平台,平衡性能,没有明显的缺点,每天可以处理5倍的业务峰值压力。经过多年的实践,当当网逐步完成了系统架构的SOA转型,通过SOA实现了服务解耦和高内聚,简化了架构的复杂性,这是主流零售电子商务平台通常选择的道路。基于分布式服务,系统具有更强的可伸缩性和可伸缩性,更容易定位和优化系统瓶颈,满足业务快速增长的需要。SOA是面向服务的结构。行业内没有统一的标准,但有一些公认的设计原则:标准合同、松散耦合、抽象服务、可重用性、服务自治、无状态、可发现性和可组合性。在实际应用过程中,根据系统情况以部分原则为重点,不求全责,简单实用。自2012年以来,当当网启动了一系列重点项目,首先重建了开放平台,使开放平台成为PIM建设、在库存、价格、促销、订单、TMS等主要业务系统之上,有一个更灵活的扩展业务平台。本次重建是当当网近年来的重大结构调整之一。此后,主营业务系统实现了业务平台,支持多商户甚至平台跨商户的业务模式。开放平台将原有独立管理的商品信息和订单流程转移到PIM系统和订单系统进行统一管理,充分发挥服务的可重用性,降低多点实现重复逻辑带来的开发和维护成本。商品信息是电子商务业务系统的核心主要数据,是促销、价格、库存、礼券、搜索等系统的基本数据来源。PIM系统作为商品的主要数据系统,承担着管理商品基础数据、关系、品牌、类别、状态等信息的功能。PIM系统的SOA建设经历了两个阶段。第一阶段主要是实现服务,由于服务设计粒度太细,发布数百个服务,其他系统完成业务功能可能需要调用多个PIM服务,增加服务用户的逻辑复杂性,也带来更多的网络交互费用,不能称为SOA的最佳实践。为此,进行了第二阶段改造,将第一阶段实现的服务定义为基本服务,根据业务需要组合,提供粗粒外部服务,解决了以往的问题。粗粒度服务可以提供独立的业务功能,并可能依赖于多个系统的基本服务。当服务用户因业务需要调用多个粗粒度服务时,可能会多次访问同一基本服务,产生叠加的系统压力。经分析,我们认为,底层服务资源的消耗可以简化上层应用逻辑,更有利于系统架构层面的合理性。只要提高底层基础服务的性能,上层服务的能力就会更加灵活。SOA系统解耦有时会增加系统资源成本,甚至降低一些服务性能指标,但可以使系统架构更加清晰,增加服务可用性,具有更强的业务可扩展性,提高开发测试效率,降低开发运维的劳动力成本,及时响应业务创新,使IT系统再现活力。通过上述系统架构治理,当当网准备成功度过2013年双11大促,临时系统很少。当当网快速发布大量动态信息流,打造综合品类电商平台,开放商家入驻,随之而来的是商品数据量迅速超过千万。商品信息是电子商务业务流程前端的重要数据,是营销活动和订单生成的基础。前台有各种各样的商品信息显示页面。在大规模营销活动中,运营商需要进行大量的操作设置,价格和库存将更频繁地更新。目前,库存日更新量峰值超过1500万SKU;SKU的价格日更新量超过500万,极限峰值超过1000万,每秒可能超过1万。数据同步的及时性和一致性指标与用户体验和营销活动的执行效率有关。如此大量的数据在各业务系统之间有效、稳定地传输,对系统架构提出了巨大的挑战。当当网络的商品数据有多个来源,自营物理商品来自ERP系统,电子书来自数字业务系统,商品来自开放平台。最后,这些商品的数据来自主业务系统中的PIM、库存系统、价格系统集中统一管理,然后发布到搜索系统、推荐系统、前端页面显示等系统。为了监控商品信息中关键数据的同步时效性,当当网建立了啄木鸟监控系统,覆盖了近20个信息流路径数百个节点,超过了同步时限
以上就是关于经验分享:当当网海量信息的组织与发布的相关介绍,更多经验分享:当当网海量信息的组织与发布相关内容可以咨询我们或者浏览页面上的推荐内容。我们将让你对经验分享:当当网海量信息的组织与发布有更深的了解和认识。
推荐阅读
最新文章
猜你喜欢以下内容:
一 客户顾问-张三 一