《当当网系统分级与海量信息动态发布实践》阅读笔记
一、背景
当当网自成立以来,内部技术体系的发展已经有15年左右的历史了。
系统架构也经历了从高度集成的软件向分布式、低耦合、SOA化系统的演进过程,形成全面支持网上零售业各种业态模式的系统架构,每天支撑着千万级的PV访问,承载了超过100亿元人民币的年营业额,2013年双11峰值流量达到日常的10倍。
作为一个典型的自营与开放平台相结合的网上零售电子商务平台,当当网网上购物流程由多达上百个大小系统共同实现。
当当网最终服务于消费者,良好的用户体验、钱物准确是立足的根本,因此对系统稳定性、可靠性、准确性有非常严格的要求。任何时候都能保证线上系统的稳定运行,是我们工作的第一优先级。
电商系统的运行峰值通常出现在各类促销、营销活动期间,以及大量集中收订的订单带来很大的生产和配送压力时。
二、高峰值的网上零售业电商应用系统通常要面对以下几大难点
1、应用架构复杂,业务发展快,迭代速度快,各系统之间盘根错节,历史包袱重。
不仅有牵一发而动全身的风险,更有边缘case出错影响主流程处理、耗尽过多资源的隐患。
2、从前台到后台的业务流程长,用例多。
在能承受的最大峰值上,存在短板效应,设计实现时要面面俱到。
3、通常促销活动的持续时间短而集中。
前期推广活动已经启动,在活动期间,短暂的系统不可用,也会带来惨重的销售损失与负面影响,没有亡羊补牢的机会。要确保系统的稳定性,平时的工作就要做足。
三、应对策略
1、基于SOA架构理念,降低系统耦合性,接口定义清晰明确,保证独立子系统的健壮性高,降低故障跨系统扩散风险,从而将伸缩性的困难逐步分解到各个系统。
2、对系统进行分级,集中力量,突出重点系统。
当当网从卖场到交易流程均属于一级系统,这部分系统直接关乎用户体验和订单量。在系统稳定性和可靠性等指标上,设计标准高于后台系统。
3、优先考虑用异步处理代替同步处理,做好系统异常的降级方案,保证有限的合格服务。
四、系统分级
对于电商网站,用户体验是第一位的,系统稳定运行是保证用户良好体验的基础。
在资源有限的条件下,采取对系统进行级别划分的方式,对高级别系统保持重点关注,在设计、部署、监控等方面确保高级别系统具备良好的伸缩性、健壮性和敏感度,能够应对电商业务中不确定的极限峰值冲击。
1、一级系统:
主要包括卖场系统、商品详情、价格系统、库存系统、促销系统、购物车、交易系统、支付系统、会员系统等。
2、二级系统:
包括商品信息系统、订单系统、ERP、仓储系统、物流与干线运输系统等。
3、三级系统:
结算系统、报表系统,以及运营、活动管理类系统。
原文链接: