点评:大流量、高并发的网站的底层系统架构
动态应用,是相对于网站静态内容而言, 是指以c/c++、php、Java、等 服务器端语言开发的网络应用软件,比如论坛、网络相册、交友、BLOG等常见应用。动态应用系统通 常与数据库系统、缓存系统、分布式存储系统等密不可分。
大型动态应用系统平台主要是针对于大流 量、高并发网站建立的底层系统架构。大型网站的运行需要一个可靠、安全、可扩展、易维护的应用系统平台做为支撑,以保证网站应用的平稳运行。
大型动态应用系统又可分为几个子系统:
l Web前 端系统
l 负 载均衡系统
l 数 据库集群系统
l 缓 存系统
l 分 布式存储系统
l 分 布式服务器管理系统
l 代 码分发系统
Web前端系统
结构图:
为了达到不同应用的服务器共享、避免单点故障、集中管理、统一配置等目的,不以应用划分服 务器,而是将所有服务器做统一使用,每台服务器都可以对多个应用提供服务,当某些应用访问量升高时,通过增加服务器节点达到整个服务器集群的性能提高,同 时使他应用也会受益。该Web前端系统基于Apache/Lighttpd/Eginx等 的虚拟主机平台,提供PHP程序运行环境。服务器对开发人员是透明的,不需要开发人员介入服务器管理
负载均衡系统
负载均衡系统分为硬件和软件两种。硬件负载均衡效率高,但是价格贵,比如F5等。软件负载均衡系统价格较低或者免费,效率较硬件负载均衡系统 低,不过对于流量一般或稍大些网站来讲也足够使用,比如lvs,nginx。大多数网站都是硬件、软件负载均衡系统并用。
数据库集群系统
结构图:
由于Web前端采用了负载均衡集群结构提高了服务的有效性和扩展性,因此数据库必须也是高可靠的才能保证整个服务体系的高可靠性,如何构建一个高可靠的、可以提供大规模并发处理的数据库体系?
我们可以采用如上图所示的方案:
1) 使用 MySQL 数据库,考虑到Web应用的数据库读多写少的特点,我们主要对读数据库做了优化,提供专用的读数据库和写数据库,在应用程序中实现读操作和写操作分别访问不同的数据库。
2) 使用 MySQL Replication 机制实现快速将主库(写库)的数据库复制到从库(读库)。一个主库对应多个从库,主库数据实时同步到从库。
3) 写数据库有多台,每台都可以提供多个应用共同使用,这样可以解决写库的性能瓶颈问题和单点故障问题。
4) 读数据库有多台,通过负载均衡设备实现负载均衡,从而达到读数据库的高性能、高可靠和高可扩展性。
5) 数据库服务器和应用服务器分离。
6) 从数据库使用BigIP做负载均衡。
缓存系统
缓存分为文件缓存、内存缓存、数据库缓存。在大型Web应用中使用最多且效率最高的是内存缓存。最常用的内存缓存工具是Memcachd。使用正确的缓存系统可以达到实现以下目标:
1、 使用缓存系统可以提高访问效率,提高服务器吞吐能力,改善用户体验。
2、 减轻对数据库及存储集服务器的访问压力
3、Memcached服务器有多台,避免单点故障,提供高可靠性和可扩展性,提高性能。
分布式存储系统
结构图:
WEB系统平台中的存储需求有下面两个特点:
1) 存储量很大,经常会达到单台服务器无法提供的规模,比如相册、视频等应用。因此需要专业的大规模存储系统。
2) 负载均衡cluster中的每个节点都有可能访问任何一个数据对象,每个节点对数据的处理也能被其他节点共享,因此这些节点要操作的数据从逻辑上看只能是一个整体,不是各自独立的数据资源。
因此高性能的分布式存储系统对于大型网站应用来说是非常重要的一环。(这个地方需要加入对某个分布式存储系统的简单介绍。)
分布式服务器管理系统
结构图:
随着网站访问流量的不断增加,大多的网络服务都是以负载均衡集群的方式对外提供服务,随之集群规模的扩大,原来基于单机的服务器管理模式已经不能够满足我们的需求,新的需求必须能够集中式的、分组的、批量的、自动化的对服务器进行管理,能够批量化的执行计划任务。
在分布式服务器管理系统软件中有一些比较优秀的软件,其中比较理想的一个是 Cfengine。它可以对服务器进行分组,不同的分组可以分别定制系统配置文件、计划任务等配置。它是基于C/S 结构的,所有的服务器配置和管理脚本程序都保存在Cfengine Server上,而被管理的服务器运行着 Cfengine Client 程序,Cfengine Client通过SSL加密的连接定期的向服务器端发送请求以获取最新的配置文件和管理命令、脚本程序、补丁安装等任务。
有了Cfengine 这种集中式的服务器管理工具,我们就可以高效的实现大规模的服务器集群管理,被管理服务器和 Cfengine Server 可以分布在任何位置,只要网络可以连通就能实现快速自动化的管理。
代码发布系统
结构图:
随着网站访问流量的不断增加,大多的网络服务都是以负载均衡集群的方式对外提供服务,随之集群规模的扩大,为了满足集群环境下程序代码的批量分发和更新,我们还需要一个程序代码发布系统。
这个发布系统可以帮我们实现下面的目标:
1) 生产环境的服务器以虚拟主机方式提供服务,不需要开发人员介入维护和直接操作,提供发布系统可以实现不需要登陆服务器就能把程序分发到目标服务器。
2) 我们要实现内部开发、内部测试、生产环境测试、生产环境发布的4个开发阶段的管理,发布系统可以介入各个阶段的代码发布。
3) 我们需要实现源代码管理和版本控制,SVN可以实现该需求。
这里面可以使用常用的工具Rsync,通过开发相应的脚本工具实现服务器集群间代码同步分发。
相关推荐
非常全面的高性能高并发服务器架构解决方案.doc
在构建FMScms网站的服务器部署方案中,我们需要考虑的关键组成部分包括客户端和服务器端。客户端主要涉及网站的前端和后台,这些通常运行在用户的设备上,例如浏览器或移动应用程序。而服务端则由FMS(Flash Media ...
在IT行业中,服务器高可用性是确保业务连续性和系统稳定性的重要环节...通过以上技术的综合运用,我们可以构建出一个高效、稳定且具备高可用性的WEB服务部署方案,为用户提供无缝的服务体验,同时保障业务的持续运行。
在IT行业中,高并发解决方案是针对大量用户同时访问或操作同一系统、应用或服务时,保证系统稳定、高效运行的技术策略。高并发场景通常出现在互联网服务、电子商务、社交媒体、在线游戏以及大数据处理等领域。以下是...
在构建企业IT基础设施时,服务器部署方案至关重要,它关乎到企业的运营效率和数据安全性。针对【标题】"服务器部署方案服务器部署方案.doc"和【描述】中的内容,我们可以提炼出以下几个核心知识点: 1. **邮件...
"服务器部署方案详解" 服务器部署方案是指在实际应用中,如何将服务器资源合理分配和配置,以满足网站或应用程序的需求。本文将详细介绍服务器部署方案的相关知识点。 一、服务器架构 服务器架构是指服务器的整体...
"全面的高性能高并发服务器架构解决方案"这个压缩包文件提供了丰富的资料,帮助我们理解并实践相关技术。 首先,高性能意味着服务器能够快速处理大量请求,这通常依赖于高效的计算资源和优化的算法。在硬件层面,...
### 高性能高并发服务器架构的关键知识点 #### 1. 高性能高并发服务器架构概述 - **定义**: 高性能高并发服务器架构是指能够同时处理大量用户请求,并且能够保持稳定性能的服务器架构。 - **重要性**: 在当前互联网...
### 高性能高并发服务器架构的关键知识点 ...以上内容总结了构建高性能高并发服务器架构的关键知识点和技术方案,涵盖了从理论到实践的各个方面。希望这些信息能够帮助读者更好地理解和实施高并发网站的架构设计。
为了处理高并发和高计算需求,配置上同样采用双CPU、大内存,但对硬盘容量要求较低。使用N+1模式,即至少有一台备用服务器,以保证服务不间断。 4. **冗余服务器**:为防止硬件故障导致服务中断,每个服务器组都...
《服务器部署方案详解》 在IT领域,服务器部署是一项至关重要的任务,它直接影响到网站的稳定性和用户体验。本文档——“服务器部署方案(2).doc”详细阐述了两种不同的服务器部署策略,适用于需要承载视频直播服务...
【提升高并发量服务器性能解决思路】 随着互联网业务的飞速发展,小型的HTML静态网站已无法满足大型网站的需求。大型网站,如门户网站,需要处理大量用户访问和高并发请求,这涉及到服务器性能优化的多个层面。以下...
通过本文的介绍,我们不仅深入了解了Nginx与Keepalived的核心概念及其在高并发场景下的应用,还具体学习了如何通过这些工具构建一套完整的高可用、高并发网站部署方案。通过合理规划和细致操作,能够显著提升网站的...
5. **微服务架构**:将大系统拆分为多个小的、独立的服务,每个服务都可以单独部署和扩展,有利于应对高并发。常见的微服务框架有Spring Cloud和Docker Swarm。 6. **CDN(Content Delivery Network)**:通过全球...
《高并发服务器框架设计方案》 高并发服务器框架的设计是一个复杂且关键的问题,它涉及到服务器的架构、性能优化以及数据处理等多个方面。以下是对这一主题的深入解析。 首先,基础的服务器框架通常采用C/S...
总结来说,面对企业高并发的挑战,需要从数据库设计、索引优化、分区分片、事务管理、架构设计以及负载均衡等多个角度出发,结合实际业务需求,制定出成熟的解决方案,确保系统在高并发环境下仍能保持高效稳定运行。...
在构建高性能高并发服务器架构时,我们面临的主要挑战是如何处理大量用户请求,保证服务的稳定性和响应速度。以下是一些核心知识点和策略: 1. **初创网站与开源软件**: 开源软件如Nginx、Apache、Lighttpd等Web...
本资料"高并发WEB服务器卓有成效方案的研究与实践"深入探讨了这一主题,通过100.zip压缩包中的文档提供了丰富的知识和实践经验。 1. **高并发概念**:高并发是指系统在同一时间能够处理大量用户的请求,这通常涉及...