B2B2C电商平台架构设计技术方案_第1页
B2B2C电商平台架构设计技术方案_第2页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、B2B2C电商平台系统方案二零一二年三月1目录1 总体设计说明 21.1 项目概述 21.2 建设目标 21.3 建设原则 22 系统需求分析 32.1 服务器集群 32.2 负载均衡 32.3 数据库集群与库表散列 32.4 划分服务器 42.5 不同网络用户的访问问题 43 系统架构设计 43.1 网站物理架构 43.2 Web 应用开发架构 53.3 网络拓扑结构 64 架构方案所涉及的技术 74.1 负载均衡 74.2 页面静态化 84.3 MVC 架构 94.4 CDN 和镜像网站技术 105 网站的硬件扩容和升级 115.1 增加服务器 115.2 升级服务器 115.3 增加存储

2、 115.4 网络扩容 122B2B2C 商城平台设计方案商城平台设计方案1 1 总体设计说明总体设计说明1.11.1项目概述项目概述B2B2C 商城平台项目是因为原 B2B2C 平台系统系统设计不合理造成应用问题、效率低下等原因而要求重新设计的。我们先前的 B2B2C 商城平台最主要的问题是在遭受低负载的情况下系统不能正常的运行,所以此问题也是该方案所要重点解决的。当此项目建成后,我们的 B2B2C 商城平台将大大减轻商城系统、便民系统的压力,使用户足就能享受快速、高效的应用服务。系统的设计要能解决原 B2B2C 商城平台访问难的问题,在高负载情况下要保证系统的正常工作。系统的建设要符合国家

3、标准,必须要能满足当前大量用户的访问需求,能承受或杜绝同一个用户频繁对页面的点击所产生的流量。充分发挥系统的作用和效益。该系统采用先进成熟的技术进行建设并能根据需要为以后系统的升级做好准备。.1 实用性实用性B2B2C 商城平台要根据当前运作需求情况和系统未来的规划进行设计。 结合实际使系统的性价比达到最高。.2 可靠性可靠性系统的设计要使之能长期稳定的运行,当遇到问题的时候还要能够快速有效的恢复。.3 安全性安全性确保系统的线路设计和设备是否能安全正常工作,保证用户信息不向外泄漏。.4 兼容性与扩展性兼容性与扩展性B2B2C 商

4、城平台的设计上采用先进成熟的技术设备,以保障系统的高效运行,也是为系统的扩充和升级做好准备。.5 专业性专业性系统的设计遵照国家标准,符合国家要求。.6 易管理性易管理性系统的设计要便于管理,方便日常维护中的操作。2 2 系统需求分析系统需求分析由于 B2B2C 商城平台建成后是为我们中国 13 亿人提供应用服务的, 将不可避免的遭受由大量网页点击造成的网络高流量、高负载的情况。所以要求此系统要能克服这种严重的状况,保证整个系统正常、安全、可靠的运行。最终方便用户网购及便民服务。3为了满足以上要求,该方案需要采取服务器集群、负载均衡、数据库划分、图片服务器分离等

5、,不仅如此,还要考虑不同网络用户的访问问题。2.12.1 服务器集群服务器集群服务器集群就是指把很多的服务器统一集中起来进行同一种服务,在客户端看起来就像是只有一个服务器在提供服务。集群可以利用多个计算机进行并行计算从而获得更高的计算速度,也可以使用多个计算机做备份,并且能使其中一台计算机坏了后整个系统依然能正常运行。此系统采用服务器集群技术,集群内的服务器能并发的处理来自网络的访问请求,当访问量过大时,各服务器共同承担访问处理的任务,这将大幅的提高系统的工作效率。除此之外,还可以根据需求添加集群中服务器的数量以增大集群的处理能力。2.22.2 负载均衡负载均衡负载均衡就是把从网络中传输进系统

6、的流量根据系统的实际工作情况进行分流和划分,然后再传输到各服务器进行处理。在此方案中将采用负载均衡器和 Squid/Nginx 反向代理服务器实现此功能, 负载均衡器需要被放置在临近服务器集群的位置。由于采用的是服务器集群技术,但当网站系统访问量很大时,Web 服务器集群里的各个服务器压力都会很大,所以我们使用负载均衡器来管理这些访问请求,把这些访问请求传输给集群中有空闲资源的服务器进行处理。这样就能充分的利用服务器集群的优势,不至于因为集群内一台服务器资源耗尽或出现故障而中断服务。2.32.3 数据库集群与库表散列数据库集群与库表散列数据库服务器在整个系统的地位非常的重要, 因为网站的瓶颈问

7、题大都出现在数据库身上。大型网站都有复杂的应用,这些应用必须使用数据库,在面对大量访问的时候,数据库的瓶颈很快就能显现出来,这时一台数据库将很快无法满足应用,于是我们需要使用数据库集群或者库表散列。1. 数据库集群在数据库集群方面,不同类型的数据库都有自己不同的解决方案,使用了什么样的数据库,就参考相应的解决方案。2. 库表散列在应用程序中安装业务和应用或者功能模块将数据库进行分离,不同的模块对应不同的数据库或者表,再按照一定的策略对某个页面或者功能进行更小的数据库散列,这样就能够低成本的提升系统的性能并且有很好的扩展性。2.42.4 划分服务器划分服务器按服务器种类来划分,我们一般把服务器划

8、分为:图片服务器、页面服务器、数据库服务器、应用服务器、日志服务器等。对于访问量大的网站而言,分离单独的服务器是非常必要的。分离服务器后各个服务器只需要完成各自的功能和处理任务,这样把工作细化后系统的整体运行效率也会提升很多。42.52.5 不同网络用户的访问问题不同网络用户的访问问题由于处于不同网络服务商的计算机想要相互通讯会比在同一网络服务商的计算机慢。为了解决此问题,本系统将通过引入 CDN 和镜像网站技术来解决不同网络服务商的接入速度问题。3 3 系统架构设计系统架构设计3.13.1 网站物理架构网站物理架构图片服务器集群图片服务器集群 Web 服务器集群服务器集群 AWeb 服务器集

9、群服务器集群 BSquid 服务器集群服务器集群整个系统架构组成如图所示, 该架构有负载均衡器、 Nginx 代理服务器集群或Squid 代理服务器集群以及其他种类的服务器集群。 这样的架构设计能够使该系统在高负载的情况下依然能正常工作,同时系统的安全性因为有代理服务器集群的存在也会得到相当大的提高。.1 架构中的代理服务器架构中的代理服务器代理服务器是介于客户端和 Web 服务器之间的另一种服务器的存在,有了它之后,浏览器不能直接到 Web 服务器去取回网页,而是向代理服务器发出请求,信号会先传送到代理服务器,由代理服务器来取回浏览器所需要的信息并传回浏览器。很多代理服务器都

10、有很大的存储空间,它能不断的将新取得的数据存储到它本机的存储器上,如果浏览器所请求的数据在它本机存储器上有而且是最新的,5那么它就不再从 Web 服务器上读取数据,而是直接将存储器上的数据直接传送给用户的浏览器,起到系统缓存的作用。这样就能显著的提高浏览器的速度和效率。除了缓存功能之外,代理服务器还能连接内网与 Internet 充当防火墙。这是因为所有内部的主机通过代理服务器访问外界时,只映射为一个 IP 地址,所以外界不能直接访问到内部网络;同时还可以设置 IP 地址过滤,限制内外网络之间的相互访问。所以本系统中采用代理服务器集群技术是对整个系统的安全是大有裨益的。.2 架

11、构中的架构中的 WebWeb 服务器服务器Web 服务器是指驻留于因特网上某类计算机的的程序。 当客户端的 Web 浏览器连接到服务器上并请求文件时,服务器将处理该请求并将文件发送到浏览器上,文件附带的信息(文件类型)会告诉浏览器如何查看该文件。服务器使用 Http 超文本传输协议进行信息交流。Web 服务器不仅能够存储信息,还能在用户通过 Web浏览器提供的信息基础上运行程序。.3 图片服务器分离图片服务器分离对于 Web 服务器来说,不管是 tomcat、Apache、IIS 还是其他容器,图片是最消耗资源的,于是我们有必要将图片与页面进行分离。这样的架构可以降低提供页面访

12、问请求的服务器系统压力,并且可以保证系统不会因为图片问题而崩溃。3.23.2 WebWeb 应用开发架构应用开发架构Web 应用开发采用 MVC 架构。 把各种应用程序划分为视图、 模型和控制三部分。大部分 Web 应用程序都是用像 java,PHP,ASP 或者 CFML 这样的语言来创建的。它们将像数据库查询语句这样的数据层代码和像 HTML 这样的表示层代码混在一起。要想使用多种方式来访问我们的应用程序,就必须要把数据从表示层中分离开来,如此就要运用到 MVC 架构。6如图:现在科技的发展和用户需求不断的提升要求我们提供越来越多的方式来访问应用程序。 MVC 模式允许用户使用各种不同样式

13、的视图来访问同一个服务器端的代码。它包括任何 WEB(HTTP)浏览器或者无线浏览器(wap),比如,用户可以通过电脑也可通过手机来订购某样产品,虽然订购的方式不一样,但处理订购产品的方式是一样的。由于模型返回的数据没有进行格式化,所以同样的构件能被不同的界面使用。 例如, 很多数据可能用 HTML 来表示, 但是也有可能用 WAP 来表示,而这些表示所需要的命令是改变视图层的实现方式,而控制层和模型层无需做任何改变。73.33.3 网络拓扑结构网络拓扑结构.1 采用双防火墙双交换机,保障平台服务采用双防火墙双交换机,保障平台服务本系统采用双防火墙接通互联网,在任何一个防火墙或

14、者互联网发生故障后都可以自动的将流量切换到另一端,保证网站的正运行,设备或网络的故障恢复后,自动恢复先前的运行状况。不但如此,系统所采用的双千兆交换机分别接在 2台防火墙上,当其中某台设备或者网络链路发生故障后,好的设备自动接管已坏设备的工作,不影响网站的整体运行,根据真实服务器的数量,交换机还可以随时增加。.2 采用硬件设备负载均衡器,实现网络流量的负载均衡采用硬件设备负载均衡器,实现网络流量的负载均衡使用硬件设备负载均衡器,将网络流量均衡的分担到 WEB 服务器集群的各节点服务器,保障平台服务器资源均衡的使用。.3 采用数据库集群和库表散列采用数据库集群和库

15、表散列本系统采用了数据库集群和库表散列技术,将大幅提高数据库的存取和查询的处理能力,不仅如此,在本方案中还为集群配置了磁盘阵列,可以在极大程度上增加数据库的存储空间。4 4 架构方案所涉及的技术架构方案所涉及的技术4.14.1负载均衡负载均衡.1 基于基于 DNSDNS 的负载均衡的负载均衡DNS 负载均衡技术是最早的解决负载均衡的技术。主要是这样实现的,由于生产生产 DBDB 服务器集群服务器集群查询查询 DBDB 服务器组服务器组负载均负载均衡器衡器 1代理服务器集群代理服务器集群(NginxNginx)服务器服务器1服务器服务器 nInternet主防火墙主防火墙备防火墙

16、备防火墙VRRP主交换机主交换机 J J备交换机备交换机负载均衡器负载均衡器 2 2服服# #器器-2服务器服务器 1 服务器服务器 n网站服务器集群网站服务器集群管理终端管理终端光纤交换机光纤交换机光纤交换机光纤交换机磁盘阵列柜磁盘阵列柜磁盘阵列柜磁盘阵列柜服务器服务器 1 服务器服务器 n服务器服务器 1 服务器服务器 n图片服务器集群应用服务器集群图片服务器集群应用服务器集群服务器服务器2服务器服务器28在 DNS 服务器中可以为不同的网络地址配置同一个域名,在 DNS 服务器进行解析时,它随即的得到其中一个地址。所以对于同一个域名它所解析出的地址是会不同的,用户也就访问不了同地址的 W

17、eb 服务器,从而在一定程度上能起到均衡负载的作用。但基于 DNS 的负载均衡不是真正意义上的负载均衡,由于 DNS 服务器在进行地址解析时不会考虑到当前 Web 服务器的负载情况,如果其中一台 Web 服务器出现了故障,DNS 服务器仍然回把地址解析到此台出现故障的服务器上, 导致不能响应客户端。所以在这种情况下必然会导致很大一部分用户不能享受服务器所提供的服务。.2 基于硬件四层交换的负载均衡基于硬件四层交换的负载均衡本网站架构就使用了基于硬件四层交换的硬件设备,在硬件四层交换产品中有很多的产品可以选择,大多数的这些产品都是比较昂贵的,但都能提供与之相符合的功能,都是物有所

18、值的。.3 基于软件四层交换的负载均衡基于软件四层交换的负载均衡软件四层交换的均衡负载可以使用Linux 操作系统中的 LVS 来解决。.4 通过反向代理服务器来实现负载均衡通过反向代理服务器来实现负载均衡反向代理服务器又称为 Web 加速服务器, 它位于 Web 服务器的前端, 充当 WEB服务器的内容缓存器,反向代理服务器是专门针对 Web 服务器设置的,在后台运行的 Web 服务器对互联网用户是透明的、不可见的,用户只能看到反向代理服务器的网络地址,但却不清楚后台的 Web 服务器是如何组织架构的。当互联网用户请求 Web 服务时,DNS 服务器将所请求的

19、域名解析为反向代理服务器的 IP 地址,这样 URL 请求将会被发送到反向代理服务器,由反向代理服务器负责处理用户的请求与应答并与后台 Web 服务器进行交互。如此就利用反向代理服务器减轻了后台 Web 服务器的负载,提高了访问速度,同时也避免了因用户直接与 Web 服务器通信带来的安全隐患。如图所示:9WebServerCluster目前有许多反向代理软件,比较有名的有 Nginx 和 Squid。4.24.2 页面静态化页面静态化.1 什么是静态页面什么是静态页面静态页面是网页的代码都在页面中, 不需要执行 asp,php,jsp,.net 等程序生成客户端网页代码的网页。

20、静态页面不能自主管理发布更新页面。常见的静态页面有以.html 扩展名结尾的、.htm 扩展名结尾的页面。还有一点是必须注意的,静态页面并非是网页上没有动画就是静态页面。.2 什么是动态页面什么是动态页面动态页面是通过执行 asp,php,jsp,.net 等程序生成客户端网页代码的网页。动态页面通常可以通过网站后台管理系统对网站内容进行更新管理。发布新闻,发布公司产品,交流互动,博客,网上调查等,这都是动态网站的一些功能,也是我们经常使用的。动态页面常见的扩展命有 asp,php,jsp,cgi,.aspx 等。当中需要我们注意的是动态页面的动态是指网站与客户端用户互动的意思

21、,而并非网页上有动画就是动态页面。.3 页面静态化页面静态化静态的 HTMLHTML 页面严格地由标准的 HTMLHTML 标示语言构成,并不需要服务器端即时运算生成。这意味着对一个静态 HTMLHTML 文档发出访问请求后,服务器端只是简单地将该文档传输到客户端。从服务器运行的那个时间片来看,这个传输过程仅仅占用了很小的 CPUCPU 资源。页面静态化就是采用效率最高、 消耗最小的纯静态化的 htmlhtml 页面来替换动态10页面。我们尽可能使我们的网站上的页面采用静态页面来实现,这个最简单的方法其实也是最有效的方法。4.34.3 MVCMVC 架构架构MVC 是一个设计模

22、式,它强制性的把应用程序的输入、处理和输出分开。使用MVC 将应用程序分成三个核心部件:模型、视图、控制器。它们各自处理自己的任务。.1 视图视图视图是用户看到并与之交互的界面。对老式的 Web 应用程序来说,视图就是由 HTML 元素组成的界面,在新式的 Web 应用程序中, HTML 依旧在视图中扮演着重要的角色,但一些新的技术已层出不穷,要求要以不同的界面呈现。如何处理应用程序的界面变得越来越有挑战性。MVC个大的好处是它能为你的应用程序处理很多不同的视图。在视图中其实没有真正的处理发生,作为视图来讲,它只是作为一种输出数据并允许用户操纵的方式。.2 模型

23、模型模型表示企业数据和业务规则。在 MVC 的三个部件中,模型拥有最多的处理任务。例如对数据库的处理。被模型返回的数据是中立的,就是说模型与数据格式无关,这样一个模型能为多个视图提供数据。由于应用于模型的代码只需写一次就可以被多个视图重用,所以减少了代码的重复性。.3 控制器控制器控制器接受用户的输入并调用模型和视图去完成用户的需求。 所以当单击 Web页面中的超链接和发送 HTML 表单时,控制器本身不输出任何东西和做任何处理。它只是接收请求并决定调用哪个模型构件去处理请求,然后再确定用哪个视图来显示返回的数据。.4 MVCMVC 应用优势应用优势1.适用性M

24、VC 模式允许使用各种不同样式的视图来访问同一个服务器端的代码。满足了用户不同方式的访问需求。2. 快速部署使用 MVC 模式使开发时间得到相当大的缩减,它使程序员集中精力于业务逻辑,界面程序员集中精力于表现形式上。3.可维护性分离视图和业务逻辑也使得 WEB 应用更易于维护和修改。在维护过程中可以细化和减少工作量。4.44.4 CDNCDN 和镜像网站技术和镜像网站技术由于网站的用户可能在不同的网络运营商的网络中, 不同网络中信息的交互11会比在同一网络中慢。为了解决这个问题,本方案就采用了 CDN 技术和镜像网站技术。.1 镜像网站镜像网站镜像网站是指将一个完全相同的站点放

25、到几个服务器上,分别都可以有自己的网址,这些服务器上的网站就称为镜像网站。镜像网站和主站并没有什么太大的差别,或者可以说是主站的拷贝。镜像网站的主要优点是,用户如果不能对主站进行正常的访问(如服务器故障,网络故障或者是网速太慢),仍然能通过访问镜像服务器获得服务。所以在方案中,我们可以在不同的网络运营商部署 web 服务器,通过软件工具自动同步到不同网络接入商的 web 服务器上,以作为主站的镜像。然后通过配置智能 DNS 解析来引导不同网络的访问用户到对应的网络运营商的 web 服务器。.2 CDNCDN 技术技术CDN 的全称是 ContentDeliveryNetwork,即内容分发网络。其基本思想是尽可能的避开互联网上有可能影响数据传输速度和稳定性的环节,使内容的传输速度更快、更稳定。通过在网络各处放

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论