搜档网
当前位置:搜档网 › 最全面的门户网站架构设计方案

最全面的门户网站架构设计方案

最全面的门户网站架构设计方案
最全面的门户网站架构设计方案

前台门户网站架构

设计方案

北京宽连十方数字技术有限公司

2012-7

目录

1设计思路2

2系统结构3

3网络规划及性能计算错误!未定义书签。

3.1网络架构8

3.2网络架构说明错误!未定义书签。

3.2.1采用双防火墙双交换机做网络冗余,保障平台服务8

3.2.2采用硬件设备负载均衡器,实现网络流量的负载均衡8

3.3系统测算错误!未定义书签。

3.3.1系统处理能力要求34

3.3.2业务处理能力要求错误!未定义书签。

3.3.3系统话务模型错误!未定义书签。

3.4配置核算错误!未定义书签。

3.4.1数据库服务器性能核算错误!未定义书签。

3.4.2WEB服务器集群性能核算错误!未定义书签。

3.4.3WEB服务器集群内存性能核算错误!未定义书签。

3.4.4网络带宽35

4性能模拟测试及性能推算错误!未定义书签。

4.1测试环境错误!未定义书签。

4.2测试结果错误!未定义书签。

4.2.11个客户端模拟不同线和并发请求结果错误!未定义书签。

4.2.210个客户端请求错误!未定义书签。

4.3结果分析错误!未定义书签。

4.4根据测试结果推算错误!未定义书签。

4.5设备清单35

4.5.1硬件设备配置清单错误!未定义书签。

4.5.2设备技术规格错误!未定义书签。

4.6平台扩容的建议35

1 网站的性能瓶颈分析

网站的性能影响因素很多,下面主要从如下4个方面进行分析说明:

1) 网络负载

a) 公网负载

b) 内网负载

2) WEB应用服务器性能

a) CPU

b) 存储,I/O访问

c) 内存

d) 并发TCP/IP连接数

3) 数据库服务器性能

a) 数据库参数配置

b) 服务器性能(CPU、内存、存储)

c) 数据结构的合理性

4) 不同WEB应用的处理方式而对不同的性能瓶颈

a) 对于静态的网站:

静态的HTML页面严格地由标准的HTML标示语言构成,并不需要服务器端即时运算生成。这意味着,对一个静态HTML文档发出访问请求后,服务器端只是简单地将该文档传

输到客户端。从服务器运行的那个时间片来看,这个传输过程仅仅占用了很小的CPU资源。

对于静态HTML的访问瓶颈为:网络带宽、磁盘I/O以及cache(高速缓冲存储器)。

b) 对于动态页面

因为服务器解析动态页面必须在其传输到客户端前就通过服务器来进行解释,这样就会给应用服务器添加额外的性能消耗,如果进一步要访问数据库,则会增加数据库服务器

的性能消耗,则动态页面还有额外的瓶颈:应用服务器的性能,数据库服务器的性能。

2 系统架构设计

2.1 总体思路

为提高网站的高并发性能,提高开发效率及运营效率,主要按如下几个思路进行规划设计:

2.1.1 负载均衡

1)四层交换负载均衡:

采用负载均衡器来实现硬件级的四层交换负载均衡,或采用LVS来实现软件的四层交换负载均

衡。

2)通过第三方软件来实现负载均衡,同时实现页面请求的缓存。

通过Nginx实现反向代理服务器集群,同时搭建squid集群以作为静态页面和图片的缓存。

3)通过web服务器的配置来实现负载均衡

即通过apache或是Nginx 将客户请求均衡的分给tomcat1,tomcat2....去处理。

2.1.2 WEB应用开发架构思路

1)应用开发实现MVC架构三层架构进行web应用开发

2)页面尽可能静态化以减少动态数据访问,如果是资讯类的网站可以考虑采用第三方开源

的CMS系统来生成静态的内容页面。

3)采用Oscache实现页面缓存,采用Memcached实现数据缓存

4)采用独立的图片服务器集群来实现图片资源的存储及WEB请求

2.1.3 数据存储的设计思路

1)数据库拆分,把生产数据库和查询数据库分离,对生产数据库采用RAC实现数据库的集

群。

2)采用高效的网络文件共享策略,采用图片服务器来实现页面的图片存储。

2.1.4 不同网络用户访问考虑

1)通过引入CDN来解决不同网络服务商的接入速度问题,一般只能解决静态页面的访问问题。

2)在不同运营商机房部署服务器,通过镜像技术来实现不同网络服务商的接入速度问题。

2.2 总体架构

2.2.1 网站的系统分层架构

2.2.4 网络拓扑结构

主防火墙

光纤交换机

磁盘阵列柜磁盘阵列柜

负载均衡器1

负载均衡器2

备注:

1) 采用双防火墙双交换机做网络冗余,保障平台服务

采用双防火墙通知接通2线路互联网接入,设备之间采用VRRP 协议,在任何一个防火墙、互联网发生故障后均可自动将流量切换到另一端,保证网站的正运行,设备或网络恢复后,自动恢复。

采用双千兆交换机分别接在2台防火墙上,当某台设备或者网络链路发生故障后,好设备自动接管已坏设备的工作,不影响网站的整体运行,根据业务及真实服务器的数量,交换机可以随时增加。

2) 采用硬件设备负载均衡器,实现网络流量的负载均衡

使用硬件设备负载均衡器,将网络流量均衡的分担到WEB 服务器集群各节点服务器,保障平台服务器资源均衡的使用。

3) 采用代理服务器,实现软件级的网络负载均衡。

4) 数据库服务器分离成生产数据库集群和查询数据库集群,实现生产读写与后台查询统计

进行分离,同时生产数据库采用rac 技术进行

2.3 架构涉及技术的详解

2.3.1 负载均衡

1. 基于DNS的负载均衡--一个域名绑定多个IP

DNS负载均衡技术是最早的负载均衡解决方案,它是通过DNS服务中的随机名字解析来实现的,在DNS服务器中,可以为多个不同的地址配置同一个名字,而最终查询这个名字的客户机将在解析这个名字时得到其中的一个地址。因此,对于同一个名字,不同的客户机会得到不同的地址,它们也就访问不同地址上的Web 服务器,从而达到负载均衡的目的。

这种技术的优点是,实现简单、实施容易、成本低、适用于大多数TCP/IP应用;但是,其缺点也非常明显,首先这种方案不是真正意义上的负载均衡,DNS 服务器将Http请求平均地分配到后台的Web服务器上,而不考虑每个Web服务器当前的负载情况;如果后台的Web服务器的配置和处理能力不同,最慢的Web服务器将成为系统的瓶颈,处理能力强的服务器不能充分发挥作用;其次未考虑容错,如果后台的某台Web服务器出现故障,DNS服务器仍然会把DNS 请求分配到这台故障服务器上,导致不能响应客户端。最后一点是致命的,有可能造成相当一部分客户不能享受Web 服务,并且由于DNS缓存的原因,所造成的后果要持续相当长一段时间(一般DNS的刷新周期约为24小时)。所以在国外最新的建设中心Web站点方案中,已经很少采用这种方案了。

2. 通过硬件四层交换实现负载均衡

在硬件四层交换产品领域,有一些知名的产品可以选择,比如Alteon、F5等,这些产品很昂贵,但是物有所值,能够提供非常优秀的性能和很灵活的管理能力。Yahoo中国当初接近2000台服务器使用了三四台Alteon就搞定了

3. 通过软件四层交换实现负载均衡

软件四层交换我们可以使用Linux上常用的LVS来解决,LVS就是Linux Virtual Server,他提供了基于心跳线heartbeat的实时灾难应对解决方案,提高系统的鲁棒性,同时可供了灵活的虚拟VIP配置和管理功能,可以同时满足多种应用需求,这对于分布式的系统来说必不可少。

一个典型的使用负载均衡的策略就是,在软件或者硬件四层交换的基础上搭建squid集群,这种思路在很多大型网站包括搜索引擎上被采用,这样的架构低成本、高性能还有很强的扩张性。

4. 通过反向代理服务器实现负载均衡

反向代理服务器又称为 WEB 加速服务器,它位于 WEB 服务器的前端,充当WEB服务器的内容缓存器,反向代理服务器是针对 WEB 服务器设置的,后台 WEB 服务器对互联网用户是透明的,用户只能看到反向代理服务器的地址,不清楚后台 WEB 服务器是如何组织架构的。当互联网用户请求 WEB 服务时,DNS 将请求的域名解析为反向代理服务器的 IP 地址,这样 URL 请求将被发送到反向代理服务器,由反向代理服务器负责处理用户的请求与应答、与后台 WEB 服务器交互。利用

反向代理服务器减轻了后台 WEB 服务器的负载,提高了访问速度,同时避免了因用户直接与 WEB 服务器通信带来的安全隐患。

目前有许多反向代理软件,比较有名的有 Nginx 和 Squid 。

Nginx 是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru 站点开发的,是一个高性能的HTTP 和反向代理服务器,也是一个 IMAP/POP3/SMTP 代理服务器。

Squid是由美国政府大力资助的一项研究计划,其目的为解决网络带宽不足的问题,支持HTTP,HTTPS,FTP 等多种协议,是现在 Unix 系统上使用、最多功能也最完整的一套软体。

1)Squid

Squid 是一个开源的软件,利用它的反向代理技术可以提高网站系统的访问速度,下面将重点介绍 Squid 反向代理的实现原理和在提高网站性能方面的应用。

Squid反向代理服务器位于本地 WEB 服务器和 Internet 之间 , 组织架构如下图:

客户端请求访问 WEB 服务时,DNS 将访问的域名解析为 Squid 反向代理服务器的 IP 地址,这样客户端的 URL 请求将被发送到反向代理服务器。如果 Squid 反向代理服务器中缓存了该请求

相关主题