门户网站架构设计方案.doc

上传人:b****2 文档编号:343829 上传时间:2022-10-09 格式:DOC 页数:39 大小:4.78MB
下载 相关 举报
门户网站架构设计方案.doc_第1页
第1页 / 共39页
门户网站架构设计方案.doc_第2页
第2页 / 共39页
门户网站架构设计方案.doc_第3页
第3页 / 共39页
门户网站架构设计方案.doc_第4页
第4页 / 共39页
门户网站架构设计方案.doc_第5页
第5页 / 共39页
点击查看更多>>
下载资源
资源描述

门户网站架构设计方案.doc

《门户网站架构设计方案.doc》由会员分享,可在线阅读,更多相关《门户网站架构设计方案.doc(39页珍藏版)》请在冰豆网上搜索。

门户网站架构设计方案.doc

公开内部公开

机密绝密√

前台门户网站架构

设计方案

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

2010-7

目录

1 设计思路 3

2 系统结构 3

3 网络规划及性能计算 3

3.1 网络架构 3

3.2 网络架构说明 4

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

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

3.3 系统测算 4

3.3.1 系统处理能力要求 4

3.3.2 业务处理能力要求 4

3.3.3 系统话务模型 4

3.4 配置核算 5

3.4.1 数据库服务器性能核算 5

3.4.2 WEB服务器集群性能核算 5

3.4.3 WEB服务器集群内存性能核算 5

3.4.4 网络带宽 5

4 性能模拟测试及性能推算 6

4.1 测试环境 6

4.2 测试结果 8

4.2.1 1个客户端模拟不同线和并发请求结果 8

4.2.2 10个客户端请求 8

4.3 结果分析 9

4.4 根据测试结果推算 9

4.5 设备清单 11

4.5.1 硬件设备配置清单 11

4.5.2 设备技术规格 12

4.6 平台扩容的建议 12

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.2WEB应用开发架构思路

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.2网站的物理架构

2.2.3网站的开发架构

2.2.4网络拓扑结构

备注:

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就是LinuxVirtualServer,他提供了基于心跳线heartbeat的实时灾难应对解决方案,提高系统的鲁棒性,同时可供了灵活的虚拟VIP配置和管理功能,可以同时满足多种应用需求,这对于分布式的系统来说必不可少。

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

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

反向代理服务器又称为WEB加速服务器,它位于WEB服务器的前端,充当WEB服务器的内容缓存器,反向代理服务器是针对WEB服务器设置的,后台WEB服务器对互联网用户是透明的,用户只能看到反向代理服务器的地址,不清楚后台WEB服务器是如何组织架构的。

当互联网用户请求WEB服务时,DNS将请求的域名解析为反向代理服务器的IP地址,这样URL请求将被发送到反向代理服务器,由反向代理服务器负责处理用户的请求与应答、与后台WEB服务器交互。

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

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

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

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

1)Squid

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

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

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

如果Squid反向代理服务器中缓存了该请求的资源,则将该请求的资源直接返回给客户端,否则反向代理服务器将向后台的WEB服务器请求资源,然后将请求的应答返回给客户端,同时也将该应答缓存在本地,供下一个请求者使用。

Squid反向代理一般只缓存可缓冲的数据(比如html网页和图片等),而一些CGI脚本程序或者ASP、JSP之类的动态程序默认不缓存。

它根据从WEB服务器返回的HTTP头标记来缓冲静态页面,有四个最重要HTTP头标记:

·Last-Modified:

告诉反向代理页面什么时间被修改

·Expires:

告诉反向代理页面什么时间应该从缓冲区中删除

·Cache-Control:

告诉反向代理页面是否应该被缓冲

·Pragma:

用来包含实现特定的指令,最常用的是Pragma:

no-cache

注:

DNS的轮询机制将某一个域名解析为多个IP地址。

2)Nginx

Nginx(“enginex”)是俄罗斯人IgorSysoev(塞索耶夫)编写的一款高性能的HTTP和反向代理服务器。

Nginx已经在俄罗斯最大的门户网站──RamblerMedia(www.rambler.ru)上运行了4年时间,同时俄罗斯超过20%的虚拟主机平台采用Nginx作为反向代理服务器。

在国内,已经有新浪博客、新浪播客、搜狐通行证、网易新闻、网易博客、金山逍遥网、金山爱词霸、校内网、YUPOO相册、豆瓣、迅雷看看等多家网站、频道使用Nginx服务器。

Nginx特点如下:

1)工作在OSI模型的第7层(应用层)

2)高并发连接

官方测试能够支撑5万并发连接,在实际生产环境中跑到2~3万并发连接数。

3)内存消耗少

在3万并发连接下,开启的10个Nginx进程才消耗150M内存(15M*10=150M)。

4)配置文件非常简单

风格跟程序一样通俗易懂。

5)成本低廉

Nginx为开源软件,可以免费使用。

而购买F5BIG-IP、NetScaler等硬件负载均衡交换机则需要十多万至几十万人民币。

6)支持Rewrite重写规则

能够根据域名、URL的不同,将HTTP请求分到不同的后端服务器群组。

7)内置的健康检查功能

如果NginxProxy后端的某台Web服务器宕机了,不会影响

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 表格模板 > 书信模板

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1