‘壹’ 电子商务网站一般架构有哪些
大型电子商务网站架构,摘抄 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缓存,应该效率上能接受。
‘贰’ 电子商务网站开发的基本原则
可能需要考虑的16项原则
1,你不可能满足所有的用户。
2,如果一个蠢方法有效,那它就不是一个蠢方法。
3,别忘了你的产品是由最年轻的程序员在最短的时间内开发出来的,所以,问题总是无法避免。
4,如果某个产品创意,只有你一家这么做,那一定是错误的方向。
5,没有任何产品开发,运营计划在实践中能继续顺利执行。
6,所有预期5个月才会到来的瓶颈总是3个月内就会遇到。
7,重要的事总是简单的。
8,简单的事总是难以做到。
9,一般情况下,你除了时间外什么都不缺。
10,关键用户的意志应该获得优先考虑。(不一定是大多数的)
11,当用户为你免费生产内容的时候,别忘了,同时也在生产垃圾和风险。
12,需要两个人彼此协助才能完成的任务,通常不会按时完成。
13,资金,设备,人才总是在你最需要的时候,找不到。
14,你为产品增加的任何功能都可能反而损害产品的竞争力---什么都不做也一样。
15,唯一比竞争对手还可怕的是内部开发,运营人员虚妄的想法。
16,正常用户的行为是可以预测的,但是互联网上却充斥着各种各样的玩家。
总结: 其实最重要的还是网站策划,运营,开发方面 技术现在来看都比较成熟了
‘叁’ 网站URL动态改为静态后为什么百度一向不收录
肯定要做301重定向,因为spider在你网站没有做伪静态之前,已经收录了你的文章,现在要是没有做301重定向,它是不知道把数据库里面的链接替换成现在的链接!也不会收录已经收录过的文章,就等于spider光顾你的网站时候已经找不到之前的链接而会慢慢的减少数据库里的索引量,如果让它长时间找不到的话,对你的网站来说就相当于之前收录的所有文章在它的眼里慢慢的消失掉,最终让它不信任你的网站而面临降权!
‘肆’ 电子商务网站建设
电子商务的模式
①纯粹的电子商务网站。一种是阿里巴巴、中国化工网等门户网站;一种是Amazon、8848这样的零售网站模式。本报告将分析它们的发展前景以及电子商务网站盈利的支撑点。
②传统产业的电子商务模式。一种是大公司,自建网站与供应商、客户甚至最终消费者进行网上交易,其为企业带来的好处最明显。一种就是中小企业,以参加专业的网上信息与交易平台为较好选择。
如果你要学习电子商务的内容,可以去"千源网"去找找,那里有许多视频资源供你参考,具体讲解有关建设商务网站种种问题.
另外你还可以参照
顺达CEO仿安利销售模式电子商务管理系统
http://www.codefans.com/download.asp?CodeID=8320 祝你好运!
‘伍’ 网站哪些内容适合用CDN技术
网站哪些内容都可以使用CDN技术的。
CDN即内容分发网络,是构建在现有网络基础之上的智能虚拟网络,CDN加速原理是用户首次请求到CDN节点,CDN节点未命中向源站获取文件,源站根据请求响应内容给CDN节点,同时CDN节点缓存内容,CDN节点将内容响应给终端用户,当同一CDN节点内的用户再次访问时,CDN便会直接将缓存内容返回给用户,让用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率。CDN加速功能虽然用域广泛,但并不是任何互联网产品都适用,考虑到加速的效果和运营成本,整理出推荐适用CDN加速的七类网站内容。
一. 静态资源加速
着互联网开发和迭代速度越来越快,我们访问的网站也变得越来越庞大,一般的企业官网以及各类展示型网站的服务器上都存储了大量静态资源,当较多用户访问我们的网站请求JS、CSS、图片等静态资源时,高并发量增加源站了压力,造成访问网络拥堵,导致我们的网站变慢卡顿。若把我们的静态资源缓存到CDN节点上,访问网站的用户直接请求到就近CDN节点,CDN节点向用户分发传输相关库的静态资源文件,这样就可以降低网站自身服务器的请求压力,提高了网站的访问速度和用户体验。
二. 动态资源加速
如今我们的互联网产品需求功能化要求巨大,我们的动态产品越来越多,交互性的动态网页如用户注册、信息发布、产品展示、订单管理等网站,动态网站大大节省工作量,无须手动的自动更新,因时因人而变,不同时间、不同用户访问同一网址时会出现不同页面等需求功能。动态资源实时性,交互性需求量更大,CDN加速系统中的核心服务器与DNS技术相结合,实时监控网络环境变化,监控各地网络延迟,有效避开网络瓶颈及拥堵环节,提高数据在源站与互联网终端用户之间传输的稳定及高效性,保障各种动态数据能够及时传递到终端,提高页面加载速度及页面展现质量。
三. 音频/视频加速
这个时代音乐,直播,小视频,电影,电视,填满了我们的碎片时光,大部分人生活离不开音频/视频,高质的用户体验要求音频/视频要扛得起夜晚高峰期的百万高并发,呈现的依然是稳定高清音画质,并且保证隐私信号传输的全程加密,CDN的HTTP/HTTPS音/视频点播加速服务通过将音频/视频文件快速分层同步传输到加速节点上,当最终用户访问时将其对网站的请求定向到离用户最近的节点上,为用户提供稳定可靠高质的HTTP/HTTPS音频/视频听觉视觉服务。
四. 图片加速
普通人常用的图片站一般为素材图片网站,漫画壁纸图片站,图片拼图工具网站,图片在线交易平台等,为个人及企业提供所需图片素材搜索,图片观看,高清图片下载等服务,例如漫画和电商平台上每天都会有大量商品图片的查询更新请求,高峰情况下每天有千万级甚至亿级的图片,CDN系统使网络和客户源文件服务器形成良好的互动,即将源站的图片(jpg,jpeg,png,gif,bmp等各种格式)、flash动画、css/js、及各种文件类型的图片缓存到节点上,无需服务端改造,能够使整体图片流量带宽下降30%~40%,实现各地用户实时快速访问刷新获取网站图片。
五. 下载加速
工具APP下载是我们现代人最基础手机的使用习惯,网络软件、杀毒软件、聊天工具、系统工具、媒体播放、输入法、手机主题和驱动等丰富的绿色软件等软件的全网下载需求促使软件开发商们及软件下载站需要提供安全、绿色、快速,是国内专业的下载环境,CDN下载加速就能为用户创造高速加密的下载场景,CDN下载分发加速,针对安装包获取、手机ROM升级、应用程序包下载等业务场景,提供稳定、优质的下载加速,具备突发性超大流量承载能力。利用多级缓存收敛及资源预热,缓解源站压力,让用户获得极速的下载体验。
六. 海外加速
全球互联产生的跨境电商,海外游戏,国外网站,让文化物品跨越物理距离来到全人类面前。物理上的距离让数据传输在高并发时期速度缓慢,致使海外用户体验感较差,针对部分海外运营商存在国际出口投入大、业务成本高;基础设施不完善,网络稳定性低;缺乏技术人才,运营能力差;大量访问用户诉求难以解决等问题,CDN依托遍及全球加速节点资源丰富,500+中国大陆境外加速,利用底层服务商自研的智能全球调度体系和质量实时监控系统,精准调度境外用户请求,提供静态外文网站、跨境电商图片网站,游戏APP下载、音视频等多种加速业务及整体解决方案。CDN能有效降低跨境访问延迟,提升服务可用性,支持全球业务无缝出海。
七. 安全加速
我们使用的大多数网站APP的设计开发,只考虑到展示和正常用户稳定使用,对于看不见的网站安全并没有太多重视。互联网经济的兴起,出于恶性商业竞争、敲诈勒索等原因,1999年开始一些企业网站受到DDOS,CC攻击,雅虎是当时最着名的受害者,近年来随着攻击成本越来越低、效果特别明显等特点,DDOS,CC攻击已经演变成全球性网络安全威胁。攻击者借助代理服务器向受害主机发送大量的合法请求,导致受害网站数据库压力就越大,被访问的频率也越高,占用大量的系统资源导致网站打开缓慢或者无法访问。众所周知DDOS攻击主要针对的是IP,所以隐藏源站IP就显得十分重要,CDN 服务将网站访问流量分配到了各个节点中,这样一方面隐藏网站的真实IP,另一方面即使遭遇 DDOS攻击,也可以将流量分散到各个节点中,防止源站崩溃,从而起到防御的作用,为网站APP做好防护。
‘陆’ 电商网站商品列表页用的是搜索引擎还是数据库+缓存的方式
大的电商网站页面一般都是从缓存里面读取过来的,页面更新快的缓存时间比较短。
搜索页面建议是不加缓存,或者缓存时间极短。因为用户关键词很难确定,或许高频词会缓存一些,这些就得看网站的部署策略了,缓存策略只是解决了数据库访问的压力
除了页面缓存之外,数据库还需要定时更新索引,索引的更新才是决定页面最终命中效果的关键,大的电商网站索引创建会很耗时,所以需要相对较长的时间才会更新一下索引系统