当前位置:首页 > 服务器 > 正文

电商服务器架构(电商平台架构)

本篇文章给大家谈谈电商服务器架构,以及电商平台架构对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

电子商务网站一般架构有哪些

大型电子商务网站架构,摘抄 7.同一个网站的多语言该如何处理是好,使用配置文件然后cookie或url来判别?===客户是自己公司,使用标准方法即可

8.电子商务网站最多的就是 商品的打折方式和积分的赠送了,这里要怎么设计才好(工厂模式)?===采购成熟的规则引擎

9.如果同一时间并发大量订单的话,如果确保一个订单的有效提交呢?

==电子商务一般要使用MQ,推荐IBM MQ;使用MSMQ也可

第一点是数据库要设计好,要达到什么级别,你可能需要考虑哪些表需要拆分,哪些表的核心数据需要冗余,如果是mysql,还要考虑其他的问题,比如存储引擎。

新闻肯定是要生成纯静态页,对数据库压力就小很多,不过静态页也有管理上的不方便,更新删除添加都要对磁盘文件进行操作

做一个自定义缓存层,对缓存逻辑进行控制,可以采用第三方缓存模块,如果使用.net来做,可以层层缓存,页面缓存,数据缓存(memcache,不过在win下效率不高)

电子商务网站特点就是对事务的严格,需要数据库设计的时候要求高性能,也需要合适的索引,支持高并发,经常对产品表用户表等进行索引检查,是否有很多索引扫描和表扫描(即使是局部的,也要将“局部”控制到最小范围)

mssql语句对不需要事务的查询要附带上with(nolock),以利于并发更新。

有些功能模块不能按照想当然的方式开发,比如产品访问次数,切不可将这些更新非常频繁的字段置于核心表内,明确的做法是将其剥离开来 还有就是切不可经常性将字段设计成bool类型,这样会给以后的扩展留出路,即使是男女这种字段,也建议采用tiny类型

其他还有就是在产品设计的时候充分考虑seo,网站目录结构清晰可读,而不是带着一串串的查询参数。

对安全要有整体的把握,最好全都是用存储过程,在项目上线前将数据库存储过程全部导出再查找貌似exec的语句,查找是否需要替换成sp_executesql。

另外,如果采用mssql,全文搜索直接用mssql fte就可以,速度和精确度都还是可以的,最重要的是维护和管理开发很简单。

打折的处理可以按照电信的一次,二次批价功能,如果你做过电信方面的系统。

当然也可以设计得更简单的一些。 静态的页面建议使用CDN加速,以解决网通和电信之间访问速度的问题;

数据的缓存方面建议考虑用memcache,另外也可以分别在表现层和数据层利用.net中的现存缓存机制作业可;

简单执行的sql可以不用存储过程,存储过程会占用数据库服务器的处理时间,造成死锁;

mvc建议还是做些CMS的项目上应用,电子商城不是很适合,个人观点。url上可以做转义,使url显示更友好;

数据库建议建立分布数据库,这样可以转移查询和大访问量对数据库带来压力;

图片可以考虑单独放在一台服务器上;1.三层架构

2.使用手写sql,手写entity(生成也可),缓存反射绑定(不是缓存数据哦,缓存映射关系),要考虑网站的长期发展还是手写吧 灵活 性能也好

3.没有这种问题,商业驱动的,纯购物就好了,千万别搞什么圈子,wiki

4.纯.net的mvc不建议,webform不搞viewstate,不搞服务端控件(除repeater)再加点mvc的思想已足够用了

5.不需要缓存数据(除搜索产品部分),要考虑多台服务器的程序快速部署,config文件会很多,config要序列化缓存

6.当然是先生成好了,参照jd吧,按业务每张图片对应几个不同大小的图

7.据经验,电子商务网站仅靠中英双语来达到多语言是不靠谱的(文化 用户习惯不是简单的语言切换),如果想真正运营英语的就要重新开发一个版本

8.不搞模式

9.负载均衡(web,db)+ssb异步处理数据

10.你是业务类型的日志还是异常日志? 前台订单流程上异常日志不需要了,找个工具录个脚本不停的跑 保证随时发现问题发邮件就可以了

11.找第三方搜索组件 类似endeca的

12.负载均衡挺简单的,初期靠软件就可以,一切图片找第三方放cdn,前台网站用到ajax的地方很少,如果用的话jquery 1,一个电子商务网站用户99.5%的行为时Find

2、对于商品检索部分,能不用数据库就不用数据库(网上切词等相关的开源平台很多)

3、分布式缓存(Memcached 、Volecity),个人测试volecity 3还是不错的

4、系统设计时必须要考虑可运营。从这个角度去设计系统

5、对于电子商务网站改动很频繁,必须考虑架构设计如何适应频繁的版本更新

6、必须设计一个好的单点登录系统。

7、建议能不用sqlserver就不用它。

8、对于大型电子商务网站来说,系统的I/O是起决定因素而不是CPU和内存。1.项目划分是否会有问题,图中分别是 实体层,数据访问接口层,数据访问层,业务逻辑接口层,业务逻辑,网站A,B,C

项目划分其实不重要,重要的的是你在写代码的时候是否能把代码合理的分到对应的项目里。

2.数据访问层是要开发效率(NBear,Linq,Nh等),还是访问效率(直接使用sql等)?是否可以先使用开发效率高的,等日后访问量大了,再重写并替换数据访问层?

开发效率优先,访问量大了以后,我相信是有钱投到硬件上的,在你程序写的不是很烂的情况下,升级硬件远比优化程序节省成本。

3.网站被切割成了多个子网站,有一些控件(如header,footer)是要共享的,如何跨网站项目共享这些控件呢?

那就做成自定义控件啦。

4.ms的mvc 1.0也出来不少时间了,是否已经够成熟运用到项目中?或者是网站后台使用webform的,前台使用mvc?

推荐使用使用webform的,前台使用mvc,对于前台来说使用mvc能更好的提升性能,更方便的更换页面表现形式。后台界面相对稳定,用webform可以提高开发效率。

5.网站数据的缓存是自己开发一个hashtable什么的来维护呢,还是使用Memcached ?

初期建议用hashtable,因为简单,将来升级到Memcached 。

6.缩略图的处理,我看有的网站是在上传图片的时候直接生成,有的是在httpmodle里处理,访问的时候生成.

直接生成缩略图的好处是节约性能。httpmodle相反,每次浏览图片的时候都会生成新的图片,服务器压力大,建议直接生成。

7.同一个网站的多语言该如何处理是好,使用配置文件然后cookie或url来判别?

多语言建议使用asp.net自带的资源文件的方式实现,当前语言保存在cookie里面。

8.电子商务网站最多的就是 商品的打折方式和积分的赠送了,这里要怎么设计才好(工厂模式)?

规则引擎

9.如果同一时间并发大量订单的话,如果确保一个订单的有效提交呢?

使用MQ队列

10.日志方面,log4net?

log4net只能记录程序运行日志,主要目的是用来调试程序的,系统业务操作日志还你是得自己建一个表来保存。

11.电子商务的全文检索,这也是个头疼的问题

lucene,微软索引服务,sqlserver全文检索,方案很多的。

12.负载均衡方面,有什么好的文章推荐码?

可以看windows 2003 集群方面的文章 1.项目划分是否会有问题,图中分别是 实体层,数据访问接口层,数据访问层,业务逻辑接口层,业务逻辑,网站A,B,C

目前我也是这样分的,不过当数据表结构有修改时,会带动其它层的联级修改,非常不方便,所以开发之前最好将数据库设计地完善一点。另外,当网站分成多个以后,其它项目生成的DLL文件要部署到每个网站的bin文件夹里,更新一次都要重新部署,这也是个挺烦人的事,当然可以将DLL部署到GAC里来解决这个问题,不过这样的话本地调试起来就不太方便了,因为项目一有改动,就要将生成的DLL重新拷贝到GAC里才能看到效果。

2.数据访问层是要开发效率(NBear,Linq,Nh等),还是访问效率(直接使用sql等)?是否可以先使用开发效率高的,等日后访问量大了,再重写并替换数据访问层?

这个我也在考虑。目前我还没有采用ORM框架,都是在DAL里直接访问DB的。

3.网站被切割成了多个子网站,有一些控件(如header,footer)是要共享的,如何跨网站项目共享这些控件呢?

自定义控件。

4.ms的mvc 1.0也出来不少时间了,是否已经够成熟运用到项目中?或者是网站后台使用webform的,前台使用mvc?

正在学习这一块。

5.网站数据的缓存是自己开发一个hashtable什么的来维护呢,还是使用Memcached ?

现在我用的比较多的是.net自带的数据缓存。

6.缩略图的处理,我看有的网站是在上传图片的时候直接生成,有的是在httpmodle里处理,访问的时候生成.

直接生成好,快一点。

7.同一个网站的多语言该如何处理是好,使用配置文件然后cookie或url来判别?

我没涉及到这一块,不过我觉得资源文件应该就是用来处理这个问题的。

8.电子商务网站最多的就是 商品的打折方式和积分的赠送了,这里要怎么设计才好(工厂模式)?

这些都放在逻辑层好了。

9.如果同一时间并发大量订单的话,如果确保一个订单的有效提交呢?

MSMQ

10.日志方面,log4net?

目前我是自已写代码存在库里的。

11.电子商务的全文检索,这也是个头疼的问题

用lucene.net分词建索引,再直接从索引库里搜索,又快又准。

12.负载均衡方面,有什么好的文章推荐码?

不清楚了。 这样的设计要达到新蛋的效果肯定不可能的,新蛋少说几百台服务器,不同数据库之间的发布订阅链路都有几千条。有复杂的缓存,负载均衡机制。新蛋所有的通讯都是基于WCF的。另外对于这么大型的网站来说,数据库一刻都不停止,所以读写分离也很重要,因为你也不可能让数据库停下来进行备份。总归要做到新蛋这样的大型电子商务网站,靠你上面画的这点好像远远不够。

不过关于公共的header,footer,我不建议做成自定义控件,这个维护起来不方便,稍有变动就要发布dll,麻烦的。

如果你的header和footer不是很大的话,建议采用js+css的方式。然后加上压缩和cdn缓存,应该效率上能接受。

1. 电商详情页系统架构介绍

电商详情页架构方案大概分为两种,第一种小型电商,使用页面静态化的方案;第二种大型电商,架构较为复杂,使用异步多级缓存 + nginx 数据本地化动态渲染的方案。

1. 页面静态化架构(全量页面静态化,适合小型电商网站)

电商详情页分为页面数据和页面模板两块,通过页面模板渲染的方式,把页面数据填充到模板中,生成最终的静态化 HTML 页面,推送到 nginx 服务器上面,前端商品详情页的请求直接通过 nginx 服务访问静态页面。

对于小型网站,页面很少,这种架构方式很实用,也非常简单。模板引擎可以使用 velocity 或者 freemarker 实现,通过页面数据管理的 cms 系统渲染页面。当页面数据或者页面模板出现变更,重新部分或者全量渲染静态化页面。

整体页面静态化架构如下图所示:

2. 异步多级缓存 + nginx 数据本地化动态渲染的架构 (适合大型电商)

对比页面静态化架构,该架构方案在保证高并发、高可用的前提下,不用提前部分或者全量渲染静态化页面,页面数据和模板可以根据业务需求实时变更,由 nginx 渲染成 HTML 静态页面返回给前端展现。

整体架构思路如下图所示:

电商系统架构以及分布式系统架构优缺点

1.技术新

2.技术范围广

3.分布式

4.高并发、集群、负载均衡、高并发

5.海量数据

6.业务复杂

7.系统安全

根据业务需求进行拆分成N个子系统,多个子系统相互协作才能完成业务流程子系统之间通讯使用RPC远程通讯技术。

同一个工程部署在多个不同的服务器上。

1.把模块拆分,使用接口通信,降低模块之间的耦合度。

2.把项目拆分成若干个子项目,不同的团队负责不同的子项目。

3.增加功能时只需要再增加一个子项目,调用其它系统的接口就可以。

4.可以灵活的进行分布式部署。

有优点就有缺点,缺点如下:

1.系统之间交互需要使用远程通信,接口开发增加工作量。

2.各个模块有一些通用的业务逻辑无法共用。

为了解决上面分布式架构的缺点,我们引入了soa架构,SOA:Service Oriented Architecture面向服务的架构。也就是把工程拆分成服务层、表现层两个工程。服务层中包含业务逻辑,只需要对外提供服务即可。表现层只需要处理和页面的交互,业务逻辑都是调用服务层的服务来实现。

电子商务网站常用的系统架构哪些

前台系统包括:商品展示,内容展示,订单确认,支付系统,用户中心四大模块

一. 商品展示

站内搜索(搜索提示,搜索规则,搜索成功页,搜索不成功页,相似推荐)

导航(频道导航,其他导航如销售排行,广告位,推荐位,文字链,also buy等)

商品分类(品牌分类,品类分类,属性分类如剪裁形式)

登陆页(商品列表页,商品详细页,商品活动页)

这里的访问逻辑是:a /b/c分流消费者去往相对个性化的页面,由登陆页体现商家的核心诉求和价值传递,完成call-to-action的第一步。

二. 内容展示:内容展示较为简单,对纯购物品牌而言包括:

公告区

帮助中心

论坛(如需商城与论坛发生交互,则需自行开发,否则可集成discuz做同步登陆即可)

三. 订单确认

订单确认,就是帮助消费者正确提交订单信息的环节,看似简单,实则非常复杂,需要对很多信息逻辑判断和处理,一般由2个部分组成:

购物车

订单提交(返回购物车,收货地址地址薄,支付方式判断,配送方式,发票,订单标记,实付金额计算等等)

四. 支付系统

与一般的想象不同,支付系统其实并不简单等于第三方支付工具接入:

外部支付系统(支付宝将接口,财付通接口,网银直联端口,信用卡分期端口)

内部支付系统(账户余额,积分,礼品卡,优惠券)

支付系统的逻辑设计不但需要考虑到各种极端情况的发生(如一张订单先用礼品卡,再用积分,最后网银支付),还要预留财务做账所需的相关字段,并充分考虑订单取消之后如何回滚各类内部账户。

五. 用户中心 

用户中心的实质是用户自助功能的dashboard,一般4个部分组成:

注册登陆(快速注册,完整注册,注册有礼,推荐注册,密码找回,主站id登陆,open-id登陆如qq,新浪微博等)

订单中心(历史订单状态,中间状态订单修改,物流追踪)

服务中心(各类自助服务如退款申请,退换货申请,建议与投诉等)

信息管理(用户基本信息管理和账户信息管理)

后台系统包括:商品促销,crm,订单处理,wms,采购管理,财务管理,报表管理,系统设置,wa系统9大模块

一. 商品促销

商品管理(品类管理,品牌管理,单品管理)

促销管理(活动管理和自定义活动模板管理)

在上述模块中,最重要的是2个部分:单品管理中的批量产品生成的自动程序和活动管理中“共享与互斥”管理。前者用于大幅提升上新速度,后者避免促销活动失控。

二. crm :crm是对b2c核心资源—会员的管理,服务与再营销系统,包括如下部分:

会员管理(会员信息的增删改查和到其他系统的链接)

用户关怀(条件触发和人工触发相关edm 短信 ob)

定向营销(会员分组和营销活动管理)

客服管理(内容非常多,集成所有需前台与后台交互的功能,详情还是看图吧)

呼叫中心(ivr,坐席管理,统计报表,参数传递与窗口嵌入)

值得注意的,edm和短信通道市面上已经有成熟的外包服务商,一般都会外包;呼叫中心和在线客服自行开发成本太高,特别是呼叫中心系统,业务初期也都是外包的。

三. 订单处理:订单处理是在订单未正式进入仓储部门处理之前,对订单的前置性处理环节。

订单录入(电话订购,网上下单,外部团购订单,无金额订单录入如礼品单)

订单审核(自动审核和人工审核)

rma处理(rma申请单和rma处理单)

四. wms(warehouse management system仓库管理系统)

wms的流程很长,功能模块也很多,大致分为入库管理,库存管理,出库管理和票据管理4个模块四个模块

五. 采购管理

供应商管理(供应商信息管理,合同发票管理)

采购单管理(po单管理,负po单管理)

库存管理(库存查询,库存占用单,库存变动log)

六 .财务管理:b2c的财务管理,主要是对供应商,渠道和内部费用支出的成本控制。

供应商结算

渠道结算

配送结算

内部结算

七. 报表管理: 报表是b2c业务的宏观表现,理论上说,每个部门的kpi都应该从中找到。

搜索报表(站内搜索量查询)

销售报表(多个维度销量查询,优惠券使用情况,报表导出)

财务报表

客服报表(客服日报和坐席报表),前者反映与消费者发生的日常交互(包括正常与异常),后者考核客服的工作绩效

仓储物流报表,这几块报表,是业务运作的核心,涉及到公司机密,就不能写的太细了,见谅。

八. 系统设置:这块大家都知道是干嘛的,也就不多说了,分成三块。

基础设置(和业务有关的一些字段值)

权限设置(不同账号的操作权限和操作记录)

其他设置

九. wa系统(web analytcis)

网站分析系统,几乎全是外购,很少有能够自建的,即使自建,最多做几个简单的模块。用于实战的,要么是免费的ga(google analytics),要么是昂贵的omniture。

电子商务系统框架结构是什么?

电子商务的基本框架结构是指实现电子商务从技术到一般服务层所应具备的完整的运作基础,它在一定程度上改变了市场构成的基本结构。传统的市场交易链是在商品、服务和货币交换过程中形成的。而今,电子商务的应用强化了一个重要因素——信息,于是就有了信息服务、信息商品和电子货币等等。下面我们简要地描述一下电子商务系统框架结构的四大支柱。

第一支柱,网络基础设施,它是实现电子商务的最底层的硬件基础设施,是信息传播系统,包括远程通信网、有线电视网、无线通信网和互联网。这些网络都在不同程度上提供电子商务所需的传输线路,但是大部分的电子商务运作还是基于Internet。

第二支柱,在网络层提供的信息传输线路上,通过Internet传输信息的内容,如文本、声音、图像等。最常用的信息发布所应用的是WWW,及应用HTML将信息发布在WWW上。

第三支柱,贸易服务的基础设施。第四层框架被称为基础设施,因为所有企业和个人在做交易时都需要它的服务。主要包括标准的商品目录服务、建立价目表、电子支付工具的开发、保证商业信息安全传送的方法、认证买卖双方合法性的方法等。

第四支柱,电子商务的实际应用层。电子商务的具体应用范围较广,包括供应链管理、电子市场及电子广告、网上购物、网上娱乐、有偿信息服务及网上银行。

电子商务的两个支撑点是框架结构得以存在并能应用的基础。相关的政策及法律法规是电子商务框架的第一个支撑点。电子商务的第二个支撑点是各种技术标准及相应的网络协议。

关于电商服务器架构和电商平台架构的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

取消
扫码支持 支付码