- 1、本文档共8页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
可伸缩性策略在电子商务网站应用
可伸缩性策略在电子商务网站应用
近年来,电子商务借助于互联网有了迅猛的发展,从事电子商务的企业都投入了大笔资金进行网站建设。但是大多数网站在建设时,只注重当前的业务规模,缺乏可伸缩性,从而给今后的发展带来一定程度的不良影响。本文分析了影响电子商务网站可伸缩性的主要因素,并给出了切实可行的解决策略。
可伸缩性的影响因素
电子商务网站的建设是一项系统工程,必须进行充分的需求分析和深入细致的设计规划,其中整个网站的可伸缩性是建设的一个重要内容。只有保持可伸缩性,才能保护企业的现有投资,才能适应企业将来的发展。为了保持整个网站的可伸缩性,通常采用上扩和外扩两种方法。
1、上扩
上扩是使用性能更好、速度更快和成本更高的硬件实现可伸缩性的常用术语。上扩包括添加更多内存、添加更多或更快的处理器,或者只是将应用程序迁移到功能更强大的单个计算机。通常,该方法能够在不改变源代码的情况下增加容量。
2、外扩
外扩利用了使用商用 PC 硬件在多个服务器中分配处理负载的优点。尽管外扩的实现需要使用多台计算机,但计算机集合本质上是作为单个计算机运行的。通过使若干台计算机专门执行常见的任务,增加了应用程序容错。当然,从管理员的角度看,外扩使计算机的数目增多,从而提出了更大的管理挑战。
设计采用三层体系结构
根据一些权威的统计,如果要想在电子商务时代继续保持企业的竞争力,必须有以下三点最基本的要求:首先是要以最短路径将产品或者服务送到消费者手中,也就是直销模式;第二、以最低的成本满足用户对产品和服务的需求,给用户提供最便宜的产品;第三、以最快的方式获取所需的资源或者信息,企业必须迅速得到各种必需的信息,这包括自身的信息和竞争对手以及市场的信息。这三点要求体现了电子商务的核心理念,也就是要以最小的代价得到最大的回报――利润。
在传统的Client/Server结构中,前端客户机上会有多种多样的应用,后端服务器除了有数据库和数据支持系统以外,还需要有一些与前端对应的应用支持???统。解决这个问题的办法就是采用三层体系结构。三层结构就是把二层的事务处理逻辑模块从客户机的任务中分离出来,由单独组成的一层来负担其任务,这样客户机的压力大大减轻了,把负荷均衡地分配给了Web服务器,三层的Browser/Server结构灵活性强、界面友好、适用范围广、易于维护。
整个网站的计算模式转化为三层结构后,整个系统能力已经有很大的提高,同时仍然可以随着用户需求的发展变化采用更新的技术,这样就有力地保证了整个系统的可伸缩性。
针对可伸缩性进行代码优化
一些人错误地认为,通过增加更多的CPU\磁盘系统\硬件\并行结构以及其他的先进技术,可以满足任何可伸缩性方面的要求。然而事实是,仅仅增加这些是不够的,应当针对一些关键代码进行优化,以获得可伸缩性的极大提高。
1、调整查询语句
例如,下面的语句可用来打印每天的发票:
假设上述查询语句最初需要用10秒的时间完成,则当公司转入电子商务后,预计客户数量增至三倍,同时定单也成比例增长,那么查询时间将不会是线形增长为以前的三倍(30秒)。通过仔细检查,发现主要原因如下:
⑴ORDER BY意味着有一个排序过程,通常排序的开销比被排序的行数增长得更快;
⑵对于表的搜索使用非唯一索引;
⑶在嵌套循环中对各个定单的扫描需要使用客户信息。
所有这些因素造成的结果是在实际使用时,同样的查询将用去比预期更多的时间。为了更好地利用电子商务,充分发挥电子商务网站的优越性,就有必要重新查看那些访问数据库的查询语句。
2、手工强制执行垃圾收集
Java技术由于其安全性和可伸缩性,在电子商务网站的建设过程中,得到了广泛应用。垃圾收集器在Java中是自动被调用的,但是如果内存有约束,则会极大地影响其可伸缩性,因为即使在编写程序时仅仅漏掉了一个对象引用,则就无法保证届时会运行垃圾收集,进而影响整个系统的可伸缩性。通过创建一个运行期对象,并为该对象调用gc()方法,可以强制执行垃圾收集,具体代码如下:
/*本程序显示了如何进行强制垃圾收集*/
对设计过程中选用的产品进行优化选择
随着企业电子商务应用的深入发展,企业对电子商务基础设施软件的要求越来越高,这些要求体现在高可伸缩性、高可靠性和高性能等方面。然而,今天的企业用户在部署电子商务基础设施时面临着诸多挑战。无数的例子都在告诉人们:集成性、简单性、可伸缩性是企业能够不断提高信息技术应用水平、优化IT技术投资回报的重要基础。简单部署、迅速启动、容易扩展、充分利用现有的IT投资、以较低的投入实现主机系统的高
文档评论(0)