B2B2C电商平台架构设计技术方案.docx
- 文档编号:5382637
- 上传时间:2022-12-15
- 格式:DOCX
- 页数:11
- 大小:307.58KB
B2B2C电商平台架构设计技术方案.docx
《B2B2C电商平台架构设计技术方案.docx》由会员分享,可在线阅读,更多相关《B2B2C电商平台架构设计技术方案.docx(11页珍藏版)》请在冰豆网上搜索。
B2B2C电商平台架构设计技术方案
B2B2C
电
商
平
台
系
统
方
案
二零一二年三月
B2B2C商城平台设计方案
1总体设计说明
1.1项目概述
B2B2C商城平台项目是因为原B2B2C平台系统系统设计不合理造成应用问题、效率低下等原因而要求重新设计的。
我们先前的B2B2C商城平台最主要的问题是在遭受低负载的情况下系统不能正常的运行,所以此问题也是该方案所要重点解决的。
当此项目建成后,我们的B2B2C商城平台将大大减轻商城系统、便民系统的压力,使用户足就能享受快速、高效的应用服务。
1.2建设目标
系统的设计要能解决原B2B2C商城平台访问难的问题,在高负载情况下要保证系统的正常工作。
系统的建设要符合国家标准,必须要能满足当前大量用户的访问需求,能承受或杜绝同一个用户频繁对页面的点击所产生的流量。
充分发挥系统的作用和效益。
该系统采用先进成熟的技术进行建设并能根据需要为以后系统的升级做好准备。
1.3建设原则
1.3.1实用性
B2B2C商城平台要根据当前运作需求情况和系统未来的规划进行设计。
结合实际使系统的性价比达到最高。
1.3.2可靠性
系统的设计要使之能长期稳定的运行,当遇到问题的时候还要能够快速有效的恢复。
1.3.3安全性
确保系统的线路设计和设备是否能安全正常工作,保证用户信息不向外泄漏。
1.3.4兼容性与扩展性
B2B2C商城平台的设计上采用先进成熟的技术设备,以保障系统的高效运行,也是为系统的扩充和升级做好准备。
1.3.5专业性
系统的设计遵照国家标准,符合国家要求。
1.3.6易管理性
系统的设计要便于管理,方便日常维护中的操作。
2系统需求分析
由于B2B2C商城平台建成后是为我们中国13亿人提供应用服务的,将不可避免的遭受由大量网页点击造成的网络高流量、高负载的情况。
所以要求此系统要能克服这种严重的状况,保证整个系统正常、安全、可靠的运行。
最终方便用户网购及便民服务。
为了满足以上要求,该方案需要采取服务器集群、负载均衡、数据库划分、图片服务器分离等,不仅如此,还要考虑不同网络用户的访问问题。
2.1服务器集群
服务器集群就是指把很多的服务器统一集中起来进行同一种服务,在客户端看起来就像是只有一个服务器在提供服务。
集群可以利用多个计算机进行并行计算从而获得更高的计算速度,也可以使用多个计算机做备份,并且能使其中一台计算机坏了后整个系统依然能正常运行。
此系统采用服务器集群技术,集群内的服务器能并发的处理来自网络的访问请求,当访问量过大时,各服务器共同承担访问处理的任务,这将大幅的提高系统的工作效率。
除此之外,还可以根据需求添加集群中服务器的数量以增大集群的处理能力。
2.2负载均衡
负载均衡就是把从网络中传输进系统的流量根据系统的实际工作情况进行分流和划分,然后再传输到各服务器进行处理。
在此方案中将采用负载均衡器和Squid/Nginx反向代理服务器实现此功能,负载均衡器需要被放置在临近服务器集群的位置。
由于采用的是服务器集群技术,但当网站系统访问量很大时,Web服务器集群里的各个服务器压力都会很大,所以我们使用负载均衡器来管理这些访问请求,把这些访问请求传输给集群中有空闲资源的服务器进行处理。
这样就能充分的利用服务器集群的优势,不至于因为集群内一台服务器资源耗尽或出现故障而中断服务。
2.3数据库集群与库表散列
数据库服务器在整个系统的地位非常的重要,因为网站的瓶颈问题大都出现在数据库身上。
大型网站都有复杂的应用,这些应用必须使用数据库,在面对大量访问的时候,数据库的瓶颈很快就能显现出来,这时一台数据库将很快无法满足应用,于是我们需要使用数据库集群或者库表散列。
1.数据库集群
在数据库集群方面,不同类型的数据库都有自己不同的解决方案,使用了什么样的数据库,就参考相应的解决方案。
2.库表散列
在应用程序中安装业务和应用或者功能模块将数据库进行分离,不同的模块对应不同的数据库或者表,再按照一定的策略对某个页面或者功能进行更小的数据库散列,这样就能够低成本的提升系统的性能并且有很好的扩展性。
2.4划分服务器
按服务器种类来划分,我们一般把服务器划分为:
图片服务器、页面服务器、数据库服务器、应用服务器、日志服务器等。
对于访问量大的网站而言,分离单独的服务器是非常必要的。
分离服务器后各个服务器只需要完成各自的功能和处理任务,这样把工作细化后系统的整体运行效率也会提升很多。
2.5不同网络用户的访问问题
由于处于不同网络服务商的计算机想要相互通讯会比在同一网络服务商的计算机慢。
为了解决此问题,本系统将通过引入CDN和镜像网站技术来解决不同网络服务商的接入速度问题。
3系统架构设计
3.1网站物理架构
整个系统架构组成如图所示,该架构有负载均衡器、Nginx代理服务器集群或Squid代理服务器集群以及其他种类的服务器集群。
这样的架构设计能够使该系统在高负载的情况下依然能正常工作,同时系统的安全性因为有代理服务器集群的存在也会得到相当大的提高。
3.1.1架构中的代理服务器
代理服务器是介于客户端和Web服务器之间的另一种服务器的存在,有了它之后,浏览器不能直接到Web服务器去取回网页,而是向代理服务器发出请求,信号会先传送到代理服务器,由代理服务器来取回浏览器所需要的信息并传回浏览器。
很多代理服务器都有很大的存储空间,它能不断的将新取得的数据存储到它本机的存储器上,如果浏览器所请求的数据在它本机存储器上有而且是最新的,那么它就不再从Web服务器上读取数据,而是直接将存储器上的数据直接传送给用户的浏览器,起到系统缓存的作用。
这样就能显著的提高浏览器的速度和效率。
除了缓存功能之外,代理服务器还能连接内网与Internet充当防火墙。
这是因为所有内部的主机通过代理服务器访问外界时,只映射为一个IP地址,所以外界不能直接访问到内部网络;同时还可以设置IP地址过滤,限制内外网络之间的相互访问。
所以本系统中采用代理服务器集群技术是对整个系统的安全是大有裨益的。
3.1.2架构中的Web服务器
Web服务器是指驻留于因特网上某类计算机的的程序。
当客户端的Web浏览器连接到服务器上并请求文件时,服务器将处理该请求并将文件发送到浏览器上,文件附带的信息(文件类型)会告诉浏览器如何查看该文件。
服务器使用Http超文本传输协议进行信息交流。
Web服务器不仅能够存储信息,还能在用户通过Web浏览器提供的信息基础上运行程序。
3.1.3图片服务器分离
对于Web服务器来说,不管是tomcat、Apache、IIS还是其他容器,图片是最消耗资源的,于是我们有必要将图片与页面进行分离。
这样的架构可以降低提供页面访问请求的服务器系统压力,并且可以保证系统不会因为图片问题而崩溃。
3.2Web应用开发架构
Web应用开发采用MVC架构。
把各种应用程序划分为视图、模型和控制三部分。
大部分Web应用程序都是用像java,PHP,ASP或者CFML这样的语言来创建的。
它们将像数据库查询语句这样的数据层代码和像HTML这样的表示层代码混在一起。
要想使用多种方式来访问我们的应用程序,就必须要把数据从表示层中分离开来,如此就要运用到MVC架构。
如图:
现在科技的发展和用户需求不断的提升要求我们提供越来越多的方式来访问应用程序。
MVC模式允许用户使用各种不同样式的视图来访问同一个服务器端的代码。
它包括任何WEB(HTTP)浏览器或者无线浏览器(wap),比如,用户可以通过电脑也可通过手机来订购某样产品,虽然订购的方式不一样,但处理订购产品的方式是一样的。
由于模型返回的数据没有进行格式化,所以同样的构件能被不同的界面使用。
例如,很多数据可能用HTML来表示,但是也有可能用WAP来表示,而这些表示所需要的命令是改变视图层的实现方式,而控制层和模型层无需做任何改变。
3.3网络拓扑结构
3.3.1采用双防火墙双交换机,保障平台服务
本系统采用双防火墙接通互联网,在任何一个防火墙或者互联网发生故障后都可以自动的将流量切换到另一端,保证网站的正运行,设备或网络的故障恢复后,自动恢复先前的运行状况。
不但如此,系统所采用的双千兆交换机分别接在2台防火墙上,当其中某台设备或者网络链路发生故障后,好的设备自动接管已坏设备的工作,不影响网站的整体运行,根据真实服务器的数量,交换机还可以随时增加。
3.3.2采用硬件设备负载均衡器,实现网络流量的负载均衡
使用硬件设备负载均衡器,将网络流量均衡的分担到WEB服务器集群的各节点服务器,保障平台服务器资源均衡的使用。
3.3.3采用数据库集群和库表散列
本系统采用了数据库集群和库表散列技术,将大幅提高数据库的存取和查询的处理能力,不仅如此,在本方案中还为集群配置了磁盘阵列,可以在极大程度上增加数据库的存储空间。
4架构方案所涉及的技术
4.1负载均衡
4.1.1基于DNS的负载均衡
DNS负载均衡技术是最早的解决负载均衡的技术。
主要是这样实现的,由于在DNS服务器中可以为不同的网络地址配置同一个域名,在DNS服务器进行解析时,它随即的得到其中一个地址。
所以对于同一个域名它所解析出的地址是会不同的,用户也就访问不了同地址的Web服务器,从而在一定程度上能起到均衡负载的作用。
但基于DNS的负载均衡不是真正意义上的负载均衡,由于DNS服务器在进行地址解析时不会考虑到当前Web服务器的负载情况,如果其中一台Web服务器出现了故障,DNS服务器仍然回把地址解析到此台出现故障的服务器上,导致不能响应客户端。
所以在这种情况下必然会导致很大一部分用户不能享受服务器所提供的服务。
4.1.2基于硬件四层交换的负载均衡
本网站架构就使用了基于硬件四层交换的硬件设备,在硬件四层交换产品中有很多的产品可以选择,大多数的这些产品都是比较昂贵的,但都能提供与之相符合的功能,都是物有所值的。
4.1.3基于软件四层交换的负载均衡
软件四层交换的均衡负载可以使用Linux操作系统中的LVS来解决。
4.1.4通过反向代理服务器来实现负载均衡
反向代理服务器又称为Web加速服务器,它位于Web服务器的前端,充当WEB服务器的内容缓存器,反向代理服务器是专门针对Web服务器设置的,在后台运行的Web服务器对互联网用户是透明的、不可见的,用户只能看到反向代理服务器的网络地址,但却不清楚后台的Web服务器是如何组织架构的。
当互联网用户请求Web服务时,DNS服务器将所请求的域名解析为反向代理服务器的IP地址,这样URL请求将会被发送到反向代理服务器,由反向代理服务器负责处理用户的请求与应答并与后台Web服务器进行交互。
如此就利用反向代理服务器减轻了后台Web服务器的负载,提高了访问速度,同时也避免了因用户直接与Web服务器通信带来的安全隐患。
如图所示:
目前有许多反向代理软件,比较有名的有Nginx和Squid。
4.2页面静态化
4.2.1什么是静态页面
静态页面是网页的代码都在页面中,不需要执行asp,php,jsp,.net等程序生成客户端网页代码的网页。
静态页面不能自主管理发布更新页面。
常见的静态页面有以.html扩展名结尾的、.htm扩展名结尾的页面。
还有一点是必须注意的,静态页面并非是网页上没有动画就是静态页面。
4.2.2什么是动态页面
动态页面是通过执行asp,php,jsp,.net等程序生成客户端网页代码的网页。
动态页面通常可以通过网站后台管理系统对网站内容进行更新管理。
发布新闻,发布公司产品,交流互动,博客,网上调查等,这都是动态网站的一些功能,也是我们经常使用的。
动态页面常见的扩展命有asp,php,jsp,cgi,.aspx等。
当中需要我们注意的是动态页面的动态是指网站与客户端用户互动的意思,而并非网页上有动画就是动态页面。
4.2.3页面静态化
静态的HTML页面严格地由标准的HTML标示语言构成,并不需要服务器端即时运算生成。
这意味着对一个静态HTML文档发出访问请求后,服务器端只是简单地将该文档传输到客户端。
从服务器运行的那个时间片来看,这个传输过程仅仅占用了很小的CPU资源。
页面静态化就是采用效率最高、消耗最小的纯静态化的html页面来替换动态页面。
我们尽可能使我们的网站上的页面采用静态页面来实现,这个最简单的方法其实也是最有效的方法。
4.3MVC架构
MVC是一个设计模式,它强制性的把应用程序的输入、处理和输出分开。
使用MVC将应用程序分成三个核心部件:
模型、视图、控制器。
它们各自处理自己的任务。
4.3.1视图
视图是用户看到并与之交互的界面。
对老式的Web应用程序来说,视图就是由HTML元素组成的界面,在新式的Web应用程序中,HTML依旧在视图中扮演着重要的角色,但一些新的技术已层出不穷,要求要以不同的界面呈现。
如何处理应用程序的界面变得越来越有挑战性。
MVC一个大的好处是它能为你的应用程序处理很多不同的视图。
在视图中其实没有真正的处理发生,作为视图来讲,它只是作为一种输出数据并允许用户操纵的方式。
4.3.2模型
模型表示企业数据和业务规则。
在MVC的三个部件中,模型拥有最多的处理任务。
例如对数据库的处理。
被模型返回的数据是中立的,就是说模型与数据格式无关,这样一个模型能为多个视图提供数据。
由于应用于模型的代码只需写一次就可以被多个视图重用,所以减少了代码的重复性。
4.3.3控制器
控制器接受用户的输入并调用模型和视图去完成用户的需求。
所以当单击Web页面中的超链接和发送HTML表单时,控制器本身不输出任何东西和做任何处理。
它只是接收请求并决定调用哪个模型构件去处理请求,然后再确定用哪个视图来显示返回的数据。
4.3.4MVC应用优势
1.适用性
MVC模式允许使用各种不同样式的视图来访问同一个服务器端的代码。
满足了用户不同方式的访问需求。
2.快速部署
使用MVC模式使开发时间得到相当大的缩减,它使程序员集中精力于业务逻辑,界面程序员集中精力于表现形式上。
3.可维护性
分离视图和业务逻辑也使得WEB应用更易于维护和修改。
在维护过程中可以细化和减少工作量。
4.4CDN和镜像网站技术
由于网站的用户可能在不同的网络运营商的网络中,不同网络中信息的交互会比在同一网络中慢。
为了解决这个问题,本方案就采用了CDN技术和镜像网站技术。
4.4.1镜像网站
镜像网站是指将一个完全相同的站点放到几个服务器上,分别都可以有自己的网址,这些服务器上的网站就称为镜像网站。
镜像网站和主站并没有什么太大的差别,或者可以说是主站的拷贝。
镜像网站的主要优点是,用户如果不能对主站进行正常的访问(如服务器故障,网络故障或者是网速太慢),仍然能通过访问镜像服务器获得服务。
所以在方案中,我们可以在不同的网络运营商部署web服务器,通过软件工具自动同步到不同网络接入商的web服务器上,以作为主站的镜像。
然后通过配置智能DNS解析来引导不同网络的访问用户到对应的网络运营商的web服务器。
4.4.2CDN技术
CDN的全称是ContentDeliveryNetwork,即内容分发网络。
其基本思想是尽可能的避开互联网上有可能影响数据传输速度和稳定性的环节,使内容的传输速度更快、更稳定。
通过在网络各处放置节点服务器所构成的在现有互联网基础之上的一层智能虚拟网络,CDN系统能够实时的根据网络流量和各节点的连接、负载状况以及到各用户的距离和响应时间等综合信息将用户的请求重新导向离用户最近的服务器节点上。
其根本目的是使用户可以就近的获取所需内容,避开Internet网络拥挤的状况,提高用户访问网站的响应速度。
从技术上全面解决由于网络带宽小、用户访问量大、网点分布不均等原因所造成的用户访问网站响应速度慢的问题。
5网站的硬件扩容和升级
根据当今时代的发展,中国将会有越来越多的人群加入网民的行列,当然也就会有更多的人愿意通过互联网来购物。
所以随着用户的不断增多,为了满足用户的需求,网站对今后的发展和升级也是要必须考虑的。
5.1增加服务器
当集群不能满足用户的访问要求时,可以考虑在集群中增加服务器,增大整个集群的访问处理能力。
当Web对的并发处理有瓶颈时,增加新的web服务器,把新增的web服务器填加到Web服务器集群中,以增加Web的并发处理能力。
当数据库有处理压力时,可以增加数据库服务器,增加数据库服务器加入数据库的集群中。
5.2升级服务器
当集群中服务器的各项处理能力不能达到要求时,这时就可以考虑对服务器进行升级。
对服务器的升级其实和增加服务器的作用相差无几。
但是升级服务器会比增加服务器更加繁琐而且更加昂贵。
所以我们一般都采用增加服务器的方法来解决问题。
5.3增加存储
随着网站的用户访问量的扩大和网站的升级,当然所要存储的信息和数据也就会越来越多,以前的服务器磁盘不再能满足要求。
所以此时应当考虑增加磁盘容器或者设立一个新的存储服务器。
5.4网络扩容
由不断增多的大量的用户访问造成了巨大的网络流量,很可能造成网络的阻塞。
原来的网络带宽设计就会无法承受。
所以在系统扩容中还要考虑重新申请更大的网络带宽。
不仅如此,当带宽增大后,为了适应更大的网络流量,内网交换机的升级也是必须的。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- B2B2C 平台 架构 设计 技术 方案