前台门户网站高并发架构设计方案

上传人:公**** 文档编号:497350790 上传时间:2023-03-14 格式:DOCX 页数:20 大小:405.86KB
返回 下载 相关 举报
前台门户网站高并发架构设计方案_第1页
第1页 / 共20页
前台门户网站高并发架构设计方案_第2页
第2页 / 共20页
前台门户网站高并发架构设计方案_第3页
第3页 / 共20页
前台门户网站高并发架构设计方案_第4页
第4页 / 共20页
前台门户网站高并发架构设计方案_第5页
第5页 / 共20页
点击查看更多>>
资源描述

《前台门户网站高并发架构设计方案》由会员分享,可在线阅读,更多相关《前台门户网站高并发架构设计方案(20页珍藏版)》请在金锄头文库上搜索。

1、前台门户高并发架构设计方1设计思路为提高的高并发性能,提高开发效率及运营效率,主要按如下几个思路进行规划设计:a) 实现web青求的网络负载均衡的设计思路通过硬件实现负载均衡。b) 通过第三方软件来实现负载均衡,同时实现页面青求的缓存。通过web服务器的配置来实现负载均衡即通过apache将客户请求均衡的分给tomcat1,tomcat2.去处理。a) WE应用架构设计思路应用开发实现MVC架构三层架构进行web应用开发采用第三方开源的CM系统来实现容的管理。b) 页面尽可能静态化以减少动态数据访问。c) 采用页面缓存机制和数据缓存来实现页面请求的缓冲和数据的缓存数据存储的设计思想数据库拆分,

2、把生产数据库和查询数据库分离,对生产数据库采用RA(实现数据库的集群。a) 采用高效的网络文件共享策略,采用图片服务器来实现页面的图片存储。2系统架构设计2.1总体架构2.1.1的系统架构分层结构负载均衡设备负载均衡器开源的负载均NginxproxySquid衡软件_且丿负载均衡数据缓存SquidcacheNginxcacheWEB容器ApacheTomatTomatControlWEB服务器架构数据存储MVC应用架构数据缓存文件共享NFS/、-ModelView数据持久层(ibatis)HDFS页面缓存(OSCache/Memcached)数据库生产数据库查询数据库网络示意图Internet

3、1. 用户浏览页面负载均衡器1服务器2服务器3服务器1服务器2服务器1服务器n服务器1服务器2代理服务器集群(Nginx)y服务器亠2、.服务.器n.服务器1服务器2服务器1服务器2图片服务器集群Web服务器集群AWeb服务器集群BSquid服务器集群架构设计说明1)采用负载均衡器来实现硬件级的四层交换负载均衡,或采用LVS来实现软件的四层交换负载均衡。2)通过Nigix实现反向代理服务器集群3)同时搭建squid集群以作为静态页面的缓存。4)通过1个apache+多个tomcat进行负载均衡配置,来组成web服务器集群。5)采用独立的图片服务器集群来实现图片资源的存储及WE请求。6)采用HD

4、F来进行文件的共享访问,通过Rsync来实现远程文件同步。7)在应用开发中采用基于Struts的MV架构,同时采用缓存技术来提高动态页面的访问。8)使页面尽可能静态化,引入CM系统使进一步静态化。9)对数据库采用生产数据库和查询数据库分离,同时采用oracle的Rac技术来实现集群扩展。10)通过镜像技术来实现不同网络服务商的接入速度问题。2.1.2的软件架构消息中心业务层持久层数据层通讯层SMSMMSWEB容器消息中心,、后台支撑模块WAPPUSH短信群彩信群发器发器数据存储WEB服务器基于struts的MVC框架Controlibatis数据ViewModelDB连接池页面缓存(Memca

5、ched)C3p0ORMApacheTomatTomatHTML静态化模块业务支撑模块统计支撑模块文件存储I/OHDFS数据库JDBCIA生产数据库(RAC)生产数据库(RAC)查询数据库2.1.3网络拓扑结构负载均衡器1负载均衡器2服务器2服务器1服务器n服务器1服务器n服服务器2服务器2服务器2服务器1服务器n服务器1服务器n服务器1服务器n服务器1服务器2代理服务器集群(Nginx)网站服务器集群图片服务器集群应用服务器集群磁盘阵列柜光纤交换机磁盘阵列柜生产DB服务器集群备注:1)采用双防火墙双交换机做网络冗余,保障平台服务采用双防火墙通知接通2线路互联网接入,设备之间采用VRR协议,在

6、任何一个防火墙、互联网发生故障后均可自动将流量切换到另一端,保证的正运行,设备或网络恢复后,自动恢复。采用双千兆交换机分别接在2台防火墙上,当某台设备或者网络链路发生故障后,好设备自动接管已坏设备的工作,不影响的整体运行,根据业务及真实服务器的数量,交换机可以随时增加。2)采用硬件设备负载均衡器,实现网络流量的负载均衡使用硬件设备负载均衡器,将网络流量均衡的分担到WE服务器集群各节点服务器,保障平台服务器资源均衡的使用。3)采用代理服务器,实现软件级的网络负载均衡。4)数据库服务器分离成生产数据库集群和查询数据库集群,实现生产读写与后台查询统计进行分离,同时生产数据库采用rac技术进行2.2负

7、载均衡2.2.1通过硬件实现负载均衡在硬件四层交换产品领域,有一些知名的产品可以选择,比如Alteon、F5等,这些产品很昂贵,但是物有所值,能够提供非常优秀的性能和很灵活的管理能力。Yahoo中国当初接近2000台服务器使用了三四台Alteon就搞定了2.2.2 通过软件四层交换实现负载均衡软件四层交换我们可以使用Linux上常用的LVS来解决,LVS就是LinuxVirtualServer,他提供了基于心跳线heartbeat的实时灾难应对解决方案,提高系统的鲁棒性,同时可供了灵活的虚拟VIP配置和管理功能,可以同时满足多种应用需求,这对于分布式的系统来说必不可少。一个典型的使用负载均衡的

8、策略就是,在软件或者硬件四层交换的基础上搭建squid集群,这种思路在很多大型包括搜索引擎上被采用,这样的架构低成本、高性能还有很强的扩性。2.2.3 通过反向代理服务器实现负载均衡反向代理服务器又称为WEB加速服务器,它位于WEB服务器的前端,充当WE服务器的容缓存器,反向代理服务器是针对WEB服务器设置的,后台WEB服务器对互联网用户是透明的,用户只能看到反向代理服务器的地址,不清楚后台WEB服务器是如何组织架构的。当互联网用户请求WEB服务时,DNS将请求的域名解析为反向代理服务器的IP地址,这样URL请求将被发送到反向代理服务器,由反向代理服务器负责处理用户的请求与应答、与后台WEB服

9、务器交互。利用反向代理服务器减轻了后台WEB服务器的负载,提高了访问速度,同时避免了因用户直接与WEB服务器通信带来的安全隐患。WebWcrcrtluMcr目前有许多反向代理软件,比较有名的有Nginx和Squid。Nginx是由IgorSysoev为俄罗斯访问量第二的Rambler.ru站点开发的,是一个高性能的HTTP和反向代理服务器,也是一个IMAP/P0P3/SMTP代理服务器。Squid是由美国政府大力资助的一项研究计划,其目的为解决网络带宽不足的问题,支持HTTPHTTPSFTP等多种协议,是现在Unix系统上使用、最多功能也最完整的一套软体。1. SquidSquid是一个开源的

10、软件,利用它的反向代理技术可以提高系统的访问速度,下面将重点介绍Squid反向代理的实现原理和在提高性能方面的应用。Squid反向代理服务器位于本地WEB服务器和Internet之间,组织架构如下图:WebServer客户端请求访问WEB服务时,DNS将访问的域名解析为Squid反向代理服务器的IP地址,这样客户端的URL请求将被发送到反向代理服务器。如果Squid反向代理服务器中缓存了该请求的资源,则将该请求的资源直接返回给客户端,否则反向代理服务器将向后台的WEB服务器请求资源,然后将请求的应答返回给客户端,同时也将该应答缓存在本地,供下一个请求者使用。Squid反向代理一般只缓存可缓冲的

11、数据(比如html网页和图片等),而一些CGI脚本程序或者ASP、JSP之类的动态程序默认不缓存。它根据从WEB服务器返回的HTTP头标记来缓冲静态页面,有四个最重要HTTP头标记:?Last-Modified:告诉反向代理页面什么时间被修改?Expires:告诉反向代理页面什么时间应该从缓冲区中删除?Cache-Control:告诉反向代理页面是否应该被缓冲?Pragma:用来包含实现特定的指令,最常用的是Pragma:no-cache注:DNS的轮询机制将某一个域名解析为多个IP地址。2. NginxNginx(“enginex”)是俄罗斯人IgorSysoev(塞索耶夫)编写的一款高性能

12、的HTTP和反向代理服务器。Nginx已经在俄罗斯最大的门户RamblerMedia(.rambler.ru)上运行了4年时间,同时俄罗斯超过20%的虚拟主机平台采用Nginx作为反向代理服务器。在国,已经有新浪博客、新浪播客、搜狐通行证、网易新闻、网易博客、金山逍遥网、金山爱词霸、校网、YUPO相册、豆瓣、迅雷看看等多家、频道使用Nginx服务器。Nginx特点如下:工作在OSI模型的第7层(应用层)高并发连接官方测试能够支撑5万并发连接,在实际生产环境中跑到23万并发连接数。存消耗少在3万并发连接下,开启的10个Nginx进程才消耗150怖(15M*10=150M)。1) 配置文件非常简单

13、风格跟程序一样通俗易懂。2) 成本低廉Nginx为开源软件,可以免费使用。而购买F5BIG-IP、NetScaler等硬件负载均衡交换机则需要十多万至几十万人民币。支持Rewrite重写规则能够根据域名、UR啲不同,将HTTP请求分到不同的后端服务器群组。置的健康检查功能如果NginxProxy后端的某台Web服务器宕机了,不会影响前端访问。节省带宽支持GZIP压缩,可以添加浏览器本地缓存的Header头。3) 稳定性高用于反向代理,宕机的概率微乎其微。3. Nginx+squid缓存来实现反向代理负载均衡通过Nginx反向代理和squid缓存实现动静分离的架构图如下所示:Nginx反向代理负

14、我均衡动静分禽纟统架构图外网IP:&11.13K;lnxrrmf配査;(r(riU动算分規鱼生均衢):;(SKSFHFii求分SJ;斯址加服务鹫群】!(出栽均簡strv*rl*Un61.bl.280E*rv*r_raftewnAbeconj金戯均欄内网:P:lfl188-1.2If莓】m.coitfl3:Hi呼“黒务弄群诅金戢均側:j*r*trI*用P4MhlIplie.席彼接存的vegas屈测删)r缓存脏虫黑0kjuidl匸quid2Snidhottedfi:192.16312g山eoWencachd匹存搓荐报莠器州谨:Tem&nX)TIIIlisten192.IBS.1.2:80SefTr

15、rnwiKinpnr.b*z.Com.IIIIISqui珠酪申t淸求NjiWifift均痛解IIIIIIIIIJ雅昔克捌7朋w昭身的cfcch*_pttr台址机2.2.4 Apache+tomcat集群实现负载均衡。Uewtehfrl|TwnIlndvbc.|使用apache和多个tomcat配置一个可以应用的web,用Apache进行分流,把请求按照权重以1)Apache做为HttpServer,通过mod_jk连接器连接多个tomcat应用实例,并进行负载均衡。2)同时还要配置session复制,也就是说其中任何一个tomcat的添加的session,是要同步复制到其它tomcat,集群的tomcat都有相同的session,并为系统(包括Apache和tomcat)设定Session超时时间。2.3缓存2.3.1系统架构方面的缓存Squid缓存架构

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 活动策划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号