您好,欢迎访问三七文档
当前位置:首页 > 临时分类 > 大型网站服务器架构方案
服务器详解方案大型网站服务器架构方案随着网络技术的不断发展,互联网和局域网在人们的工作和生活中得到了广泛的应用。服务器作为整个网络运行的基石,发挥着举足轻重的作用。从当前的网络发展状况看,在互联网行业,以Web2.0模式运营的网站的蓬勃兴起,在为人们带来广阔应用的同时,亦对服务器提出了更为苛刻的需求。围绕着这一领域,亦出现了很多全新的技术概念,而对服务器技术及其应用模式的了解,是深入了解和掌握网络技术的基础。应用需求--交互模式对系统平台要求更苛刻Web2.0网站是指将传统的网站构架(平台、内容源、用户、传播方式等)转化到以用户为核心的网站构架上来,包括一系列体现web2.0概念的元素、定位和创意。web2.0网站在构架上须体现两大宗旨,即强大的后台系统和简单的前台页面,也即提供良好的用户体验。随着web2.0各种应用的进入到日常生活,众多新兴的交互模式和互联网技术不断纷纷涌现,像博客、播客、威客、分类信息、WIKI、视频分享、网络电视、P2P下载、社区、CDN内容分发等形式,正在被越来越多的网站所应用,这样势必会有更多的用户加入其中,晒照片、晒视频、晒声音,谈吃、谈玩、谈旅游、谈技术课题等都成为他们生活中不可或缺的一部分。这样也对承载网站系统平台的服务器提出了更为苛刻的要求。大型网站,比如门户网站。在面对大量用户访问、高并发请求方面,基本的解决方案集中在这样几个环节:前端采用CDN加速,包括网易、百度、新浪目前都是这种方式,使用高性能的服务器、高性能的数据库、高效率的编程语言、还有高性能的Web容器。这种方式是解决大量访问提高访问质量的性价比最高的途径,除此之外还有就是采用分布式负载均衡、异地镜像来解决大型网站面临的高负载和高并发问题,但是成本会非常之高。解决方案:应用细分确保高效稳定运行由上可以看出,在构建大型网站系统平台中,高扩展性、高可用性以及具备成本优势的解决方案是他们所迫切需要的,而在选购服务器产品时,一款性价比高、功能强大、管理维护便捷的服务器更能契合此系统平台搭建需要。服务器详解方案解决方案拓扑图前端CDN加速内容分发网络(CDN)采用智能路由和流量管理技术,及时发现能够给访问者提供最快响应的加速节点,并将访问者的请求导向到该加速节点,由该加速节点提供内容服务。利用内容分发与复制机制,CDN客户不需要改动原来的网站结构,只需修改少量的DNS配置,就可以加速网络的响应速度。当用户访问了使用CDN服务的网站时,DNS域名服务器通过CNAME方式将最终域名请求重定向到CDN系统中的智能DNS负载均衡系统。智能DNS负载均衡系统通过一组预先定义好的策略(如内容类型、地理区域、网络负载状况等),将当时能够最快响应用户的节点地址提供给用户,使用户可以得到快速的服务。同时,它还与分布在不同地点的所有CDN节点保持通信,搜集各节点的健康状态,确保不将用户的请求分配到任何一个已经不可用的节点上。而网宿CDN还具有在网络拥塞和失效情况下,能拥有自适应调整路由的能力。使用了CDN服务后,用户的访问流程如下图所示:图CDN用户访问流程图用户向服务器详解方案浏览器提供要访问网站的域名,域名解析的请求被发往网站的DNS域名解析服务器;由于网站的DNS域名解析服务器对此域名的解析设置了CNAME,请求被指向CDN网络中的智能DNS负载均衡系统;智能DNS负载均衡系统对域名进行智能解析,将响应速度最快的节点IP返回给用户;浏览器在得到速度最快节点的IP地址以后,向CDN节点发出访问请求;由于是第一次访问,CDN节点将回到源站取用户请求的数据并发给用户;当有其他用户再次访问同样内容时,CDN将直接将数据返回给客户,完成请求/服务过程。通过以上的分析我们可以看出,CDN服务对网站访问提供加速的同时,可以实现对普通访问用户透明,即加入缓存以后用户客户端无需进行任何设置,直接输入被加速网站原有的域名即可访问负载均衡负载均衡将是大型网站解决高负荷访问和大量并发请求采用的终极解决办法。负载均衡技术发展了多年,有很多专业的服务提供商和产品可以选择,我个人接触过一些解决方法,其中有两个架构可以给大家做参考。1、LVS负载均衡服务器,L采用IP负载均衡技术和基于内容请求分发技术,调度器具有很好的吞吐率。2、智能DNS,根据访问者的IP来源地自动将域名解析到最近的服务器。HTML静态化静态HTML--静态HTML是互联网上任何站点最基本的一种构成元素。几乎所有的站点均不同程度地采用了这种元素。静态的HTML页面严格地由标准的HTML标示语言构成,并不需要服务器端即时运算生成。从服务器运行的那个时间片来看,这个传输过程仅仅占用了很小的CPU资源。为了提高静态HTML的访问效率,主要可以从以下几个方面进行优化:网络带宽、磁盘I/O以及cache(高速缓冲存储器)。其实大家都知道,效率最高、消耗最小的就是纯静态化的html页面,所以我们尽可能使我们的网站上的页面采用静态页面来实现,这个最简单的方法其实也是最有效的方法。但是对于大量内容并且频繁更新的网站,我们无法全部手动去挨个实现,于是出现了我们常见的信息发布系统CMS,像我们常访问的各个门户站点的新闻频道,甚至他们的其他频道,都是通过信息发布系统来管理和实现的,信息发布系统可以实现最简单的信息录入自动生成静态页面,还能具备频道管理、权限管理、自动抓取等功能,对于一个大型网站来说,拥有一套高效、可管理的CMS是必不可少的。除了门户和信息发布类型的网站,对于交互性要求很高的社区类型网站来说,尽可能的静态化也是提高性能的必要手段,将社区内的帖子、文章进行实时的静态化,有更新的时候再重新静态化也是大量使用的策略,像Mop的大杂烩就是使用了这样的策略,网易社区等也是如此。同时,html静态化也是某些缓存策略使用的手段,对于系统中频繁使用数据库查询但是内容更新很小的应用,可以考虑使用html静态化来实现,比如论坛中论坛的公用设置信息,服务器详解方案这些信息目前的主流论坛都可以进行后台管理并且存储再数据库中,这些信息其实大量被前台程序调用,但是更新频率很小,可以考虑将这部分内容进行后台更新的时候进行静态化,这样避免了大量的数据库访问请求图片服务器分离大家知道,对于Web服务器来说,不管是Apache、IIS还是其他容器,图片是最消耗资源的,于是我们有必要将图片与页面进行分离,这是基本上大型网站都会采用的策略,他们都有独立的图片服务器,甚至很多台图片服务器。这样的架构可以降低提供页面访问请求的服务器系统压力,并且可以保证系统不会因为图片问题而崩溃,在应用服务器和图片服务器上,可以进行不同的配置优化,比如apache在配置ContentType的时候可以尽量少支持,尽可能少的LoadModule,保证更高的系统消耗和执行效率数据库集群和库表散列大型网站都有复杂的应用,这些应用必须使用数据库,那么在面对大量访问的时候,数据库的瓶颈很快就能显现出来,这时一台数据库将很快无法满足应用,于是我们需要使用数据库集群或者库表散列。在数据库集群方面,很多数据库都有自己的解决方案,Oracle、Sybase等都有很好的方案,常用的MySQL提供的Master/Slave也是类似的方案,您使用了什么样的DB,就参考相应的解决方案来实施即可。上面提到的数据库集群由于在架构、成本、扩张性方面都会受到所采用DB类型的限制,于是我们需要从应用程序的角度来考虑改善系统架构,库表散列是常用并且最有效的解决方案。我们在应用程序中安装业务和应用或者功能模块将数据库进行分离,不同的模块对应不同的数据库或者表,再按照一定的策略对某个页面或者功能进行更小的数据库散列,比如用户表,按照用户ID进行表散列,这样就能够低成本的提升系统的性能并且有很好的扩展性。sohu的论坛就是采用了这样的架构,将论坛的用户、设置、帖子等信息进行数据库分离,然后对帖子、用户按照板块和ID进行散列数据库和表,最终可以在配置文件中进行简单的配置便能让系统随时增加一台低成本的数据库进来补充系统性能。服务器解决方案:1、负载均衡服务器(2台)LVS集群采用IP负载均衡技术和基于内容请求分发技术。调度器具有很好的吞吐率,将请求均衡地转移到不同的服务器上执行,且调度器自动屏蔽掉服务器的故障,从而将一组服务器构成一个高性能的、高可用的虚拟服务器。整个服务器集群的结构对客户是透明的,而且无需修改客户端和服务器端的程序。为此,在设计时需要考虑系统的透明性、可伸缩性、高可用性和易管理性。一般来说,LVS集群采用三层结构,其主要组成部分为:服务器详解方案A、负载调度器(loadbalancer),它是整个集群对外面的前端机,负责将客户的请求发送到一组服务器上执行,而客户认为服务是来自一个IP地址(我们可称之为虚拟IP地址)上的。B、服务器池(serverpool),是一组真正执行客户请求的服务器,执行的服务有WEB、MAIL、FTP和DNS等。C、共享存储(sharedstorage),它为服务器池提供一个共享的存储区,这样很容易使得服务器池拥有相同的内容,提供相同的服务。VS/NAT、VS/TUN和VS/DR技术是LVS集群中实现的三种IP负载均衡技术。2、应用服务器(3台)WEB应用服务器使用asp.net、JSP、php脚本语言实现,简单的说能实现动态网页技术的服务器叫做应用服务器,该服务器接受用户的请求,调用后端资源动态生成页面并返回给用户。由于前端的缓存服务器接受了大部分的访问压力,在网站建设的前期可以考虑使用性能比较好的服务器,后期可以添加服务器做负载均衡。3、静态存储服务器(2台)对于Web服务器来说,不管是Apache、IIS还是其他服务器,视频、图片是最消耗资源的,于是有必要将视频、图片与页面进行分离。这样,不仅可降低提供页面访问请求的服务器系统压力,还可保证系统不会因为图片问题而崩溃,在应用服务器和图片服务器上,可以进行不同的配置优化,保证更高的系统消耗和执行效率。由于访问静态内容对系统的资源占用很低,故静态存储服务器不需要强大的处理能力,只需大容量的高速磁盘即可。4、数据库集群(双机热备服务器两台、阵列柜1台)大型网站都有复杂的应用,这些应用必须使用数据库。Oracle、MySQL、SQLSERVER在大型网站应用较广,由于服务器保存着整个网站的最重要的用户信息,并且是整个系统中关键环节,也是最容易出现系统瓶颈的环节。更是网站最宝贵的资源。故数据库服务器需要很强大的数据处理能力,并确保数据的完整性和可用性。因此,考虑到以上的应用需求,因此推荐使用数据库服务器集群。由多台服务器共同对web提供服务,通过负载均衡机制和热备份机制。保证机器7*24不间断运行。平时两台机器共同为应用服务器提供服务。当其中一台机器出现故障,另外一台自动接管他的任务;保证服务不中断。而冷备份服务器可以在两台热备服务器同时出现故障后手动接管他们的工作。服务器方案表:方案一:集群负载均衡(集群热备模式,可允许多点故障)项目名称型号参数单价数量合计SQUID代理缓存服务器HPDL380G标配2颗六核英特尔®至强®X5660(2.80GHz,12MB三级缓存,95W,548004219200服务器详解方案7DDR3-1333,HT,Turbo2/2/2/2/3/3)处理器,Intel5520芯片组;16GB(6x2GB)PC3-10600R(DDR3-1333)寄存式DIMM,18个内存插槽,最多192GB内存;2个HPNC382i双端口多功能千兆服务器适配器;500GB7.2KSAS6G2.5双端口热插拔硬盘,HPSmartArrayP410i/1GBwithFBWC(支持RAID0/1/1+0/5/5+0);支持8个SFF热插拔硬盘,最大支持到16个SFF硬盘;标配3个PCI-E2.0插槽(1个全高全长x16,2个全高半长x8插槽),可额外添加3个;6个N+1冗余风扇模块;5个USB(后面2个,前面2个,内部1个),SD插槽1个;集成Lights-Out2(iLO2);SATADVDRW;2个750W1+1冗余
本文标题:大型网站服务器架构方案
链接地址:https://www.777doc.com/doc-6291464 .html