大型电商网站架构设计
本文将从电商网站的需求到单机架构,逐步演变为常用的分布式架构的原型。除具备功能需求外,还具备一定的高性能,高可用,可伸缩,可扩展等非功能质量需求(架构目标)。
一、电商案例的原因
大型电商网站架构设计的原因可以分为三类:大型门户、SNS 网站和电商网站。电商网站具备以上两类的特点,比如产品详情可以采用 CDN,静态化,交互性高的需要采用 NOSQL 等技术。
二、电商网站需求
客户需求包括:
* 建立一个全品类的电子商务网站(B2C)
* 用户可以在线购买商品,可以在线支付,也可以货到付款
* 用户购买时可以在线与客服沟通
* 用户收到商品后,可以给商品打分,评价
* 目前有成熟的进销存系统,需要与网站对接
* 希望能够支持 3~5 年,业务的发展
* 预计 3~5 年用户数达到 1000 万
* 定期举办双 11,双 12,三八男人节等活动
* 其他功能参考京东或国美在线等网站
三、网站初级架构
一般网站,刚开始的做法,是三台服务器,一台部署应用,一台部署数据库,一台部署 NFS 文件系统。然而,目前主流的网站架构已经发生了翻天覆地的变化。一般都会采用集群的方式,进行高可用设计。
四、系统容量预估
系统容量预估步骤包括:
* 注册用户数-日均 UV 量-每日的 PV 量-每天的并发量
* 峰值预估:平常量的 2~3 倍
* 根据并发量(并发,事务数),存储容量计算系统容量
客户需求:3~5 年用户数达到 1000 万注册用户;每秒并发数预估:8340 次。
五、架构目标
大型电商网站架构设计的架构目标包括:
* 高性能
* 高可用
* 可伸缩
* 可扩展
* 高安全性
六、架构总结
大型电商网站架构设计的架构总结包括:
* 电商网站架构设计的原因
* 电商网站需求
* 网站初级架构
* 系统容量预估
* 架构目标
这篇文章主要说明网站的需求,网站初始架构,系统容量估算方法。