电子商务网站的一般框架有哪些?
8.电子商务网站最常见的就是商品的打折方式和积分的赠送。这里怎么设计他们(工厂模式)?= = =购买成熟的规则引擎。
9.如果同时发出大量订单,如何保证订单的有效提交?
= = MQ一般用于电商,IBM MQ被推荐;你也可以用MSMQ
第一点就是数据库要设计好,在什么层次上,你可能需要考虑哪些表需要拆分,哪些核心数据需要冗余。如果是mysql,还要考虑其他问题,比如存储引擎。
新闻肯定是生成纯静态页面,对数据库压力小很多,但是静态页面也不方便管理,更新、删除、添加都要操作磁盘文件。
要定制缓存层并控制缓存逻辑,可以使用第三方缓存模块。如果你使用。net,可以逐层缓存,页面缓存和数据缓存(memcache,但在win下效率很低)。
电子商务网站的特点是事务严格,需要数据库设计时性能高,还需要合适的索引,支持高并发。他们经常检查产品表、用户表等等的索引,是否有很多索引扫描和表扫描(即使是本地的,也要尽量少)。
Mssql语句应该将with(nolock)附加到不需要事务的查询,以便于并发更新。
有些功能模块是不能用自然的方式开发的,比如产品访问量。这些频繁更新的字段不能放在核心表中。明确的办法就是把它们分开,字段一定不能频繁设计成bool类型,这样会给以后的扩展留有余地。即使是男女,也推荐小体型。
另一个是产品设计要充分考虑seo,网站的目录结构清晰易读,而不是携带一串查询参数。
要对安全性有一个整体的把握,最好使用所有的存储过程,在项目上线之前导出所有的数据库存储过程,然后寻找看起来像exec的语句,看是否需要用sp_executesql替换。
另外,如果采用mssql,可以直接使用mssql fte进行全文搜索,速度和准确率还是可以接受的。最重要的是维护、管理和开发简单。
折扣可以根据电信的一级和二级定价功能来处理,如果你做过电信系统的话。
当然也可以设计的更简单。建议用CDN加速静态页面,解决网通和电信之间的访问速度问题。
建议在数据缓存中考虑memcache,在。net可以分别用于表示层和数据层。
简单sql可以不用存储过程执行,会占用数据库服务器的处理时间,造成死锁;
Mvc建议应用一些CMS项目,电子商城不是很适合。可以在网址上做转义,使网址显示更加友好;
数据库:建议建立分布式数据库,可以转移查询,给数据库带来压力。
图片可以考虑放在单独的服务器上;1.三层架构
2.使用手写sql,手写实体(生成也可以)和缓存反射绑定(不是缓存数据,缓存映射关系),要考虑网站的长远发展或者手写栏的灵活表现。
3.不存在这个问题,只是商业驱动,纯购物,不搞什么圈子,wiki。
4.纯粹。不推荐使用net mvc。webform不搞viewstate,不搞服务器端控件(repeater除外)加上一些mvc的思路就够了。
5.不需要缓存数据(搜索产品部分除外),但是要考虑程序从多台服务器快速部署,会有很多配置文件,配置要序列化缓存。
6.当然,王先生已经完成了。参考jd,每张图片根据业务对应几个不同的尺寸。
7.根据经验,电商网站只做到中英文双语是不靠谱的(文化用户习惯不是简单的语言切换)。要想真正操作英语,必须重新开发一个版本。
8.没有模式。
9.负载平衡(web,db)+ssb异步处理数据。
10.您是业务类型日志还是例外日志?前台订单流程中的异常日志是不必要的。随便找个工具录个脚本,一直运行,保证你随时发现什么问题都能发邮件。
11.找一个类似endeca的第三方搜索组件。
12.负载平衡非常简单。刚开始的时候,可以用软件来完成。所有图片都放在第三方的cdn上,前台网站很少使用ajax。如果使用,jquery 1会发现一个电子商务网站用户99.5%的行为。
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.该网站已被切割成几个子网站,一些控件(如页眉,页脚)是共享的。如何在网站项目之间共享这些控件?
然后使其成为自定义控件。
4.4.ms的mvc 1.0早就出了。在项目中使用是否足够成熟?还是网站后台用webform,前台用mvc?
前台推荐使用webform和mvc。对于前台来说,mvc可以更好的提升性能,更方便的改变页面表现形式。后台界面相对稳定,使用webform可以提高开发效率。
5.是开发哈希表什么的来维护网站数据的缓存,还是用Memcached?
建议一开始用hashtable,因为简单,以后会升级到Memcached。
6.缩略图处理,我觉得有的网站上传图片时直接生成,有的是自己的资源文件实现,当前语言保存在cookie里。
8.电子商务网站最常见的就是商品的打折方式和积分的赠送。这里怎么设计他们(工厂模式)?
规则引擎
9.如果同时发出大量订单,如何保证订单的有效提交?
使用MQ队列
10.log4net?
Log4net只能记录程序运行日志,主要用于调试程序。你必须建立一个表来保存系统业务操作日志。
11.电子商务的全文检索也是一个让人头疼的问题。
Lucene,微软索引服务,sqlserver全文检索,很多方案。
12.负载均衡有什么好的文章推荐代码吗?
可以阅读文章1关于windows 2003中的集群。项目划分有问题吗?图分别是实体层、数据访问接口层、数据访问层、业务逻辑接口层、业务逻辑、网站A、B、C。
目前我也是这样划分的,但是修改数据表结构的时候会带动其他层的级联修改,很不方便,所以开发之前最好把数据库设计好。另外,当网站分成多个站点时,其他项目生成的DLL文件都要部署到各个网站的bin文件夹中,每次更新都要重新部署。这个也挺烦的。当然可以将DLL部署到GAC来解决这个问题,但是不方便在本地调试,因为一旦项目发生变化,生成的DLL就要重新复制到GAC才能看到效果。
2.是开发效率的数据访问层(NBear,Linq,Nh等。)或者访问效率(直接使用sql等。)?能不能先用开发效率高的,等以后访问量大了再重写替换数据访问层?
我也在考虑这个问题,目前我还没有采用ORM框架,直接在DAL中访问DB。
3.该网站已被切割成几个子网站,一些控件(如页眉,页脚)是共享的。如何在网站项目之间共享这些控件?
自定义控件。
4.4.ms的mvc 1.0早就出了。在项目中使用是否足够成熟?还是网站后台用webform,前台用mvc?
我在学这首曲子。
5.是开发哈希表什么的来维护网站数据的缓存,还是用Memcached?
现在我使用更多的数据缓存。网。
6.缩略图处理,我觉得有些网站是上传图片时直接生成的,有些是在?
目前自己写代码,存放在库中。
11.电子商务的全文检索也是一个让人头疼的问题。
使用lucene.net分词建立索引,然后直接从索引数据库中搜索,既快速又准确。
12.负载均衡有什么好的文章推荐代码吗?
我不知道。这样的设计绝对不可能达到新蛋的效果。新蛋至少有上百台服务器,不同数据库之间有上千个发布和订阅链接。有复杂的缓存和负载平衡机制。新蛋的所有通讯都基于WCF。另外,对于这么大的网站,数据库从来不会停,所以读写分开也很重要,因为你不能为了备份而停数据库。毕竟,做一个新蛋这样的大型电商网站,似乎远远不够。
但是,关于公共的页眉页脚,我不建议把它做成自定义控件。这样维护不方便,稍有改动就释放dll,很麻烦。
如果你的页眉页脚不是很大,建议用js+css。再加上压缩和cdn缓存,效率上应该可以接受。