说说大型高并发高负载网站的系统架构(上)

日期:2008-12-29作者:俊麟

大型网站   高负载   并发   架构   

    我在CERNET做过拨号接入平台的搭建,而后在Yahoo&3721从事过搜索引擎前端开发,又在MOP处理过大型社区猫扑大杂烩的架构升级等工作,同时自己接触和开发过不少大中型网站的模块,因此在大型网站应对高负载和并发的解决方案上有一些积累和经验,可以和大家一起探讨一下。

  一个小型的网站,比如个人网站,可以使用最简单的html静态页面就实现了,配合一些图片达到美化效果,所有的页面均存放在一个目录下,这样的网站对系统架构、性能的要求都很简单,随着互联网业务的不断丰富,网站相关的技术经过这些年的发展,已经细分到很细的方方面面,尤其对于大型网站来说,所采用的技术更是涉及面非常广,从硬件到软件、编程语言、数据库、WebServer、防火墙等各个领域都有了很高的要求,已经不是原来简单的html静态网站所能比拟的。

  大型网站,比如门户网站。在面对大量用户访问、高并发请求方面,基本的解决方案集中在这样几个环节:使用高性能的服务器、高性能的数据库、高效率的编程语言、还有高性能的Web容器。但是除了这几个方面,还没法根本解决大型网站面临的高负载和高并发问题。

  上面提供的几个解决思路在一定程度上也意味着更大的投入,并且这样的解决思路具备瓶颈,没有很好的扩展性,下面我从低成本、高性能和高扩张性的角度来说说我的一些经验。

    1、HTML静态化

  其实大家都知道,效率最高、消耗最小的就是纯静态化的html页面,所以我们尽可能使我们的网站上的页面采用静态页面来实现,这个最简单的方法其实也是最有效的方法。但是对于大量内容并且频繁更新的网站,我们无法全部手动去挨个实现,于是出现了我们常见的信息发布系统CMS,像我们常访问的各个门户站点的新闻频道,甚至他们的其他频道,都是通过信息发布系统来管理和实现的,信息发布系统可以实现最简单的信息录入自动生成静态页面,还能具备频道管理、权限管理、自动抓取等功能,对于一个大型网站来说,拥有一套高效、可管理的CMS是必不可少的。

  除了门户和信息发布类型的网站,对于交互性要求很高的社区类型网站来说,尽可能的静态化也是提高性能的必要手段,将社区内的帖子、文章进行实时的静态化,有更新的时候再重新静态化也是大量使用的策略,像Mop的大杂烩就是使用了这样的策略,网易社区等也是如此。目前很多博客也都实现了静态化,我使用的这个Blog程序WordPress还没有静态化,所以如果面对高负载访问,www.toplee.com一定不能承受 

  同时,html静态化也是某些缓存策略使用的手段,对于系统中频繁使用数据库查询但是内容更新很小的应用,可以考虑使用html静态化来实现,比如论坛中论坛的公用设置信息,这些信息目前的主流论坛都可以进行后台管理并且存储再数据库中,这些信息其实大量被前台程序调用,但是更新频率很小,可以考虑将这部分内容进行后台更新的时候进行静态化,这样避免了大量的数据库访问请求。

  在进行html静态化的时候可以使用一种折中的方法,就是前端使用动态实现,在一定的策略下进行定时静态化和定时判断调用,这个能实现很多灵活性的操作,我开发的台球网站故人居(www.8zone.cn)就是使用了这样的方法,我通过设定一些html静态化的时间间隔来对动态网站内容进行缓存,达到分担大部分的压力到静态页面上,可以应用于中小型网站的架构上。故人居网站的地址:http://www.8zone.cn,顺便提一下,有喜欢台球的朋友多多支持我这个免费网站:)

    2、图片服务器分离

  大家知道,对于Web服务器来说,不管是Apache、IIS还是其他容器,图片是最消耗资源的,于是我们有必要将图片与页面进行分离,这是基本上大型网站都会采用的策略,他们都有独立的图片服务器,甚至很多台图片服务器。这样的架构可以降低提供页面访问请求的服务器系统压力,并且可以保证系统不会因为图片问题而崩溃。

  在应用服务器和图片服务器上,可以进行不同的配置优化,比如Apache在配置ContentType的时候可以尽量少支持,尽可能少的LoadModule,保证更高的系统消耗和执行效率。

  我的台球网站故人居8zone.cn也使用了图片服务器架构上的分离,目前是仅仅是架构上分离,物理上没有分离,由于没有钱买更多的服务器:),大家可以看到故人居上的图片连接都是类似img.9tmd.com或者img1.9tmd.com的URL。

  另外,在处理静态页面或者图片、js等访问方面,可以考虑使用lighttpd代替Apache,它提供了更轻量级和更高效的处理能力。

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

评论
查看更多评论

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

网络设计>更多

  • 增长的API:软件定义网络带来的强力副产品

    API正迅速成为现代网络的必备品。API的大量增长迫使供应商开始重新思考他们究竟想要如何配置并管理他们的设备。

  • 2017年技术变革与发展趋势预测

    2016年,企业向软件定义的网络迈进,充分利用新的IP(New IP)技术来改造其数据中心架构,按需为用户提供弹性基础设施服务。2017年又将呈现怎样的态势呢?

  • 站到站VPN配置与远程访问VPN有何不同?

    站到站VPN可以将多个网络整体连接在一起——例如,连接分公司网络和公司总部网络;远程访问VPN可以将各个主机连接到私有网络上——例如,移动工作者和远程工作者,他们需要通过互联网安全地访问公司网络……

  • 博科下一代路由解决方案:可视性和自动化是关键

    云、物联网及移动连接正以指数级在增长,在此情形下,企业一方面需确保其基础设施能够支撑起未来流量的大幅增长,另一方面,随着网络运营的复杂性持续增加,可视性和自动化对于企业实现业务敏捷则尤为重要。

相关推荐

技术手册>更多

  • 网络渗透测试指导手册

    渗透测试是一种最老的评估计算机系统安全性的方法。虽然渗透测试的主要目标是发现组织中网络基础架构的安全漏洞;但它也可能有许多次要目标,包括测试组织的安全问题识别和响应能力,测试员工安全知识或测试安全性政策规范等。

  • 如何使用Cisco路由器创建IPsec VPN

    本专题将详细地、一步步地解释Cisco IOS IPSec VPN配置概念和实现基于软件及硬件的VPN网关。

  • IPv6迁移攻略

    从2003年开始IPv6过渡就一直被人们提及,如今,亚洲地区IPv4地址已经消耗殆尽,但你准备好向IPv6迁移了么?本技术手册将为你详细介绍IPv6的迁移知识。

  • 网管员必读系列——用户管理指南

    管理员的职责是最大化系统的可用性和实用性,同时满足每个用户对“安全”的信息和通信环境的合理期望。用户管理至关重要。

TechTarget

最新资源
  • 安全
  • 存储
  • CIO
  • 服务器
  • 数据中心
  • 云计算