电商平台技术方案当前工作系统部署工作节点和进度目录软件架构第三方支付平台同/异步缓存机制数据库文件IO基础业务逻辑层消息子系统账户子系统微店子系统云商品子系统第三方缴费系统第三方积分系统……会员子系统支付子系统商城html网页、APP、WAP展示varnish功能模块mvcSpringiBatisApacheTomcatcache功能模块mvcSpringiBatisApacheTomcat功能模块mvcSpringiBatisApacheTomcat功能模块SpringmvcSpringiBatisApacheTomcatMysqlMasterSlave2Slave1读取读取读取复制复制写入•以J2EE企业级框架为基础,搭建高性能、高可靠性和高安全性的整体架构。•前端采用稳定高效的varnish作为Web缓存服务器•分模块化构建相对独立的功能处理集•数据库分布式部署,将数据的写入和读取分离,减轻数据库压力,提供系统性能•根据业务情况,还可进行数据的垂直和水平分割,进一步加大系统的承载能力当前工作软件架构工作节点和进度目录系统部署3年及以上1年及以上6个月内远期架构近期架构当前架构电商平台架构图(远期)负载均衡层LVS反向代理动静分离nginx前端缓存层Varnish系统应用层系统存储层商城系统图片服务快照MemcachedDB读写分离分布式文件系统CDNWAN心跳线分布式缓存电商平台借助CND技术,更快、更近CND技术,将网站的内容发布到最接近用户的网络边缘,使用户可以就近取得所需的内容关键要点•3DNS+LVS实现负载均衡、接入保护•动态、静态文件分用不同服务器•首页静态化•某些频繁内容:Varnish缓存•快照:CDN加速•图片及静态:Varnish缓存•Web数据缓存:Memcached远期架构缩减•暂时没有需要如此大的用户量、数据量和吞吐量;•仅仅缩减设备和硬件架构,软件架构不做缩减,方便将来系统扩展时,在软件上改动较小;电商平台架构图(减法)负载均衡层LVS反向代理动静分离nginx前端缓存层Squid系统应用层系统存储层商城系统图片服务快照MemcachedDB读写分离分布式文件系统CDNWAN近期架构需求•图片较少数据•暂时仅考虑20000活跃用户规模•100万,店铺、产品数据•300万,评论数据数据量较多空间比较不大活跃用户少电商平台架构网络拓扑图(近期)商城系统IDC主应用服务器主图片服务器1000M交换机应用分布主应用:1、商城平台软件(java、php)2、mysql数据库(从、读)3、全文检索服务4、nginx(反向代理)5、Tomcate6、Ehcacahed(本地缓存)主图片:1、图片服务(水印、缩略等)2、图片3、静态css、js4、Squid缓存5、mysql数据库(主、写)电商平台逻辑架构图(近期)nginxnginxSquid图片服务Mysql(主)图片商城平台全文检索本地缓存Mysql(从)IDC主应用服务器主图片服务器写数据同步数据读数据数据库需要垂直分库(表)和水平分库(表)缓存logo、favicon.ico等水印、缩略图、裁剪等用户浏览器缓存设备配置需求项目CPU硬盘内存机架电源网卡主应用服务器至强E5-2600、2GHz、智能加速主2.8GHz、三级缓存20MB、CPU核心八核、程数16线程,2颗SATA/SAS、500G,3块硬盘(做raid)DDR3、16G(最好32G)1U1个(最好2个)2张千兆网卡主图片服务器至强E5-2600、2GHz、智能加速主2.8GHz、三级缓存20MB、CPU核心八核、程数16线程,2颗SATA/SAS、4T,单硬盘1个1T,需要做raid5DDR3、16G1U1个(最好2个)2张千兆网卡电商平台架构网络拓扑图(当前)商城系统IDC主应用服务器应用分布主应用:1、商城平台软件(java、php)2、mysql数据库(从、读)3、全文检索服务4、nginx(反向代理)5、Tomcate6、Ehcacahed(本地缓存)7、图片服务(水印、缩略等)8、图片9、静态css、js10、Squid缓存11、mysql数据库(主、写)电商平台逻辑架构图(当前)nginxSquid图片服务Mysql(主)图片商城平台全文检索本地缓存Mysql(从)IDC主应用服务器写数据同步数据读数据数据库需要垂直分库(表)和水平分库(表)缓存logo、favicon.ico等水印、缩略图、裁剪等用户浏览器缓存设备配置需求项目CPU硬盘内存机架电源网卡主应用服务器至强E5-2600、2GHz、智能加速主2.8GHz、三级缓存20MB、CPU核心八核、程数16线程,2颗SATA/SAS、500G,3块硬盘(最好能三块,做raid)DDR3、16G(最好32G)1U1个(最好2个)2张千兆网卡当前架构特点及问题•最小成本,满足现在的系统需求•同时为下一步扩展打下了坚实的基础。•应用全部集中,单台服务器的压力很大。•存在单点故障当前工作系统部署目录工作节点和进度系统部署上线立项规划设计研发实施项目产品提出初步想法相关准备产品定位功能规划需求规格技术架构产品选型系统设计界面原型设计数据库设计功能模块设计系统部署部署设计实施方案(分布实施)系统研发开发内容、清单开发计划、进度管控开发任务分配线路图及当前节点循环迭代再设计增加研发分步实施上线升级规划调整工作节点和进度系统部署目录当前工作系统部署下一步主要工作设计•页面配色•PC商城设计•关键图片处理•WAP、APP、微信产品设计研发•搭建开发环境•梳理差异、建立开发清单•前端开发•主体程序开发内容•店铺分类•产品分类•图片库团队•充实完善技术团队•内容写手(帮助、电子协议、分类数据)•事物性帮助(微信支付申请等)规划•沟通需求,再调整•设定优先级计划•开发计划•开发任务分解谢谢!