电子商务平台技术架构
Ajax是否越多应用越好
Ajax在需要应以的地方应以,尽量减少与服务器通 讯,以防带来安全问题
上传商品图片等太多怎么办
文件太多最好单独的文件服务器来管理文件
常见问题
| 适应大型网站架构
ORM还是自己写SQL
争论从没停止,ORM用在网站上面,确实有效率问 题,建立多花工夫在硬件性能上,合理的编写SQL 即可
B2B/C2C/B2C
B2B 基于分类信息 C2C 多商户平台 B2C 独立品牌店 B2B 典型 阿里巴巴 C2C 典型 淘宝\拍拍 B2C 典型 卖包包\凡客诚品\卓家网
常用技术
PHP//ASP/JSP
PHP/mysql /SQL SERVER/Oracle JSP/Oracle
表 现 层 UI展示 UI逻辑
业务逻辑层 数据库访问层 数据库
UI展示层可以使用 ,WinForm,WPF,Silverlight,移动Web,智能设备等 UI逻辑的职责是负责业务逻辑层以及UI用户界面之间的数据交互,可以采用MVC模 式、MVP模式等
架构的演变
为了让平台架构适应大型网站,我们需要对架构进行一定的改进,使得各层之间更 好的调用,我们需要增加一个服务层(Service)
常用服务器网络结构
Web服务器群
数据库服务器群
缓存服务器
文件服务器
常用功能
用户
| 电子商务平台的功能
买家平台 买家平台 网站管理平台
商品管理 购物 订单管理 库存管理
常用功能
数据分析
| 电子商务平台的功能
用户/地区/商品/订单/库存/天气/时间/价格 等因素来分析,主要是购买率,回购率等 参数
研发小组分工协 同工作
Data Provider ORM Nhibenate Other XML、Excel
数据库操作 \Excel\XML操作
常用服务器网络结构
Web 数据库 服务器
常用服务器网络结构
Web服务器
数据库服务器
常用服务器网络结构
Web服务器
数据库服务器
文件服务器
6
常用架构1
通常最简单的程序架构,就是使用程序语言直接访问数据库-----开发较快、修改痛苦
程序
数据库
这种方式可能比较适合刚开始学习编程的人来作为练习,在实际项目中,大多是不 可行的,虽然还是有人使用这种方法来开发。 一般我们把程序部分分层表现层(负责WEB界面、WEB界面逻辑)、逻辑层(负责 业务处理)、数据库访问层三个层次。
常用架构3
最为常见的开发模式,三层架构
表现层 业务逻辑层 数据库访问层 数据库
大多数企业使用的三层架构模式,流行的模式,网上相对开源的东西比较 多,成熟可用的也很多。 适合中小型企业电子商务平台。
常用架构4
我们对表现层进行拆分
买家评论/评分 交互 卖家评论/评分 微博转发
常用功能
| 电子商务平台的功能
短信接口 邮箱接口
接口
支付接口 RSS订阅 其他API接口
常用功能
| 电子商务平台的功能
团购 抽奖
营销
竞价 促销 在线客服 短信群发
常见问题
| 适应大型网站架构
海量数据存储处理
Nginx负载均衡/Memcached分布式缓存、 Volecity 分区(垂直分区/水平分区)
表 现 层 UI展示层 UI逻辑层
服务层 业务逻辑层
数 据 访 问 层 Data Provider ORM Nhibenate
如果我们的项目使用各种技术, 这样我们就有必要使用服务层来 清晰的调用各方资源。 服务层具体工作就是解耦,使得 程序更加透明,出此之外没有更 多实际的功能。
常用架构的演变
电子商务平台技术架构
WHY NOW…
——我们所处的互联网背景
2006-2010年网络服务季度使用占比
15%
2006年-2010年主要网络服务季度使用时间占比 变化情况
12%
9%
6%
社区交友
3%
0%
电子商务
2006Q3 2006Q4 2007Q1 2007Q2 2007Q3 2007Q4 2008Q1 2008Q2 2008Q3 2008Q4 2009Q1 2009Q2 2009Q3 2009Q4 2010Q1 2010Q2 2010Q3 2010Q4
常用架构2
我们把上一个程序架构稍微改变一下,我们可以支持多数据访问啦!
表现层与逻辑层 数据库访问层 数据库
在这个架构中,我们可以把业务逻辑和表现层现在一起,就是边写WEB逻辑,编写 业务逻辑,我们也可以把他与数据库访问层写在一起,所谓的“充血模型”。 对于中小型架构,这种模式也普遍适用,它具有一定的实用性,开发的快速行,可 以采用代码生成、模型生成等快速工具达到辅助#敏捷开发#的效果
表 现 层 UI展示层 UI逻辑层
服务层 业务逻辑层 数据库访问层 数据库
如果我们的项目使用各种技术, 这样我们就有必要使用服务层来 清晰的调用各方资源。 服务层具体工作就是解耦,使得 程序更加透明,出此之外没有更 多实际的功能。
架构的演变
为了让平台架构适应大型网站,我们需要对架构进行一定的改进,使得各层之间更 好的调用,我们需要增加一个服务层(Service)
表 现 层 Common Logging Config UnitTest Exception Caching 服 务 层 业 务 层 数 据 访 问 层 UI展示 UI逻辑 WebService 接口/IOC BLL Model Query 订单\数据分析 调用各种应用 WEB/手机等 购物车等 UI设计师 WEB程序员
频繁的需求变更
主表+模板机制的设计方式 如商品,不同商品有不同属性,应可以定制不同模 板来实现。
分层的架构思想是理想的,并不实际
针对项目而言,主要是应用分层架构的思想,把合 理的功能分配到各个子项目中。
常见问题
| 适应大型网站架构
大量并发下的订单
微软的PETSHOP宠物商店有一个完整的解决方 案,利用MSMQ来控制。
数据分析是一个反馈系统
数据分析的目标并不是分析当前数据,而是反馈数 据本身的是否正确,并修正它。 如用户正对某类商品的搜索结果。
联系方式
南京程序俱乐部 21vc天使投资 天使投资与VC/PE的区别
谢谢各位!
焦军康 QQ 502086
社区交友
在线视频 新闻资讯
搜索服务 即时通讯
电子商务
数据来源:艾瑞咨询,IUT
在线游戏
注:社区交友包括:社交网络、微博、社区、博客、婚礼交友等 ;电子商务包括:C2C、B2C、团购;在线视频包括:网站中的在线视频+软 件中的网络电视;在线游戏包括:网站中的游戏服务+软件中的网络游戏和休闲游戏。
分类