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