首页 > 经验 > 关键词 > 大型网站最新资讯 > 正文

大型网站采用什么系统架构保证性能稳定性

2009-04-29 10:31 · 稿源:cnblogs

千万级的注册用户,千万级的帖子,nTB级的附件,还有巨大的日访问量,大型网站采用什么系统架构保证性能和稳定性?

首先讨论一下大型网站需要注意和考虑的问题。

数据库海量数据处理:负载量不大的情况下select、delete和update是响应很迅速的,最多加几个索引就可以搞定,但千万级的注册用户和一个设计不好的多对多关系将带来非常严重的性能问题。另外在高UPDATE的情况下,更新一个聚焦索引的时间基本上是不可忍受的。索引和更新是一对天生的冤家。

高并发死锁:平时我们感觉不到,但数据库死锁在高并发的情况下的出现的概率是非常高的。

文件存储的问题:大型网站有海量图片数据、视频数据、文件数据等等,他们如何存储并被有效索引?高并发的情况下IO的瓶颈问题会迅速显现。也许用RAID和专用存贮服务器能解决眼下的问题,但是还有个问题就是各地的访问问题,也许我们的服务器在北京,可能在云南或者新疆的访问速度如何解决?如果做分布式,那么我们的文件索引以及架构该如何规划。

接下来讨论大型网站的底层系统架构,来有效的解决上述问题。

毋庸置疑,对于规模稍大的网站来说,其背后必然是一个服务器集群来提供网站服务,例如,2004年eBay的服务器有2400台,估计现在更多。当然,数据库也必然要和应用服务分开,有单独的数据库服务器集群。对于像淘宝网这样规模的网站而言,就是应用也分成很多组。

下面,就从服务器操作系统与Web服务器、数据库、服务器集群与负载均衡、缓存、独立的图片服务器、其它等几个方面来分析大型网站的系统架构。

服务器操作系统与Web服务器

最底层首先是操作系统。好的操作系统能提高好的性能、稳定性和安全性,而这些对大型网站的性能、安全性和稳定性都是至关重要的。

淘宝网(阿里巴巴): Linux操作系统 + Web 服务器: Apache

新浪:FreeBSD + Web 服务器:Apache

Yahoo:FreeBSD + Web 服务器:自己的

Google: 部分Linux + Web 服务器:自己的

百度:Linux + Web 服务器: Apache

网易:Linux + Web 服务器: Apache

eBay: Windows Server 2003/8 (大量) + Web 服务器:Microsoft IIS

MySpace: Windows Server 2003/8 + Web 服务器:Microsoft IIS

由此可见,开源操作系统做Web应用是首选已经是一个既定事实。在开源操作系统中Linux和FreeBSD差不太多,很难说哪个一定比另外一个要优秀很多、能够全面的超越对手,应该是各有所长。但熟悉Linux的技术人员更多些,利于系统管理、优化等,所以Linux使用更广泛。而Windows Server和IIS虽然有的网站使用,但不开源,而且需要购买微软的一系列应用产品,限制了其使用。总之,开源操作系统,尤其是Linux做Web应用是首选已经是一个既定事实。

常用的系统架构是:

Linux + Apache + PHP + MySQL

Linux + Apache + Java (WebSphere) + Oracle

Windows Server 2003/2008 + IIS + C#/ASP.NET + 数据库

数据库

因为是千万人同时访问的网站,所以一般是有很多个数据库同时工作的,说明白一点就是数据库集群和并发控制,数据分布到地理位置不同的数据中心,以免发生断电事故。

主流的数据库有Sun的是MySQL和Oracle。

Oracle是一款优秀的、广泛采用的商业数据库管理软件。有很强大的功能和安全性,可以处理相对海量的数据。而MySQL是一款非常优秀的开源数据库管理软件,非常适合用多台PC Server组成多点的存储节点阵列(这里我所指的不是MySQL自身提供的集群功能),每单位的数据存储成本也非常的低廉。用多台PC Server安装MySQL组成一个存储节点阵列,通过MySQL自身的Replication或者应用自身的处理,可以很好的保证容错(允许部分节点失效),保证应用的健壮性和可靠性。可以这么说,在关系数据库管理系统的选择上,可以考虑应用本身的情况来决定。

MySQL数据库服务器的master-slave模式,利用数据库服务器在主从服务器间进行同步,应用只把数据写到主服务器,而读数据时则根据负载选择一台从服务器或者主服务器来读取,将数据按不同策略划分到不同的服务器(组)上,分散数据库压力。

服务器集群与负载均衡

服务器群集中每个服务结点运行一个所需服务器程序的独立拷贝,而网络负载均衡则将工作负载在这些主机间进行分配。负载均衡建立在现有网络结构之上,它提供了一种廉价有效的方法扩展服务器带宽和增加吞吐量,加强网络数据处理能力,提高网络的灵活性和可用性。它主要完成以下任务:解决网络拥塞问题,服务就近提供,实现地理位置无关性 ;为用户提供更好的访问质量;提高服务器响应速度;提高服务器及其他资源的利用效率;避免了网络关键部位出现单点失效。

常用的服务器集群和数据库集群负载均衡实现方法:

Citrix NetScaler的硬件负载均衡交换机做服务器集群的负载均衡。

MySQL Proxy做MySQL服务器集群的负载均衡并实现读写分离。其实现读写分离的基本原理是让主数据库处理事务性查询,而从数据库处理SELECT查询。数据库复制被用来把事务性查询导致的变更同步到集群中的从数据库。

CDN (Content Delivery Network): 几乎在各大网站都有使用该技术。例如,使得你的网站在各省市访问更快,其原理是采取了分布式网络缓存结构(即国际上流行的web cache技术),通过在现有的Internet中增加一层新的网络架构,将网站的内容发布到最接近用户的cache服务器内,通过DNS负载均衡的技术,判断用户来源就近访问cache服务器取得所需的内容,解决Internet网络拥塞状况,提高用户访问网站的响应速度,如同提供了多个分布在各地的加速器,以达到快速、可冗余的为多个网站加速的目的。

缓存

众所周知,使用缓存能有效应对大负载,减少数据库的压力,并显著提高多层应用程序的性能,但如何在集群环境中使多个缓存、多层缓存并保存同步是个重大问题。大型网站一般都使用缓存服务器群,并使用多层缓存。业内最常用的有:

Squid cache,Squid服务器群,把它作为web服务器端前置cache服务器缓存相关请求来提高web服务器速度。Squid将大部分静态资源(图片,js,css等)缓存起来,直接返回给访问者,减少应用服务器的负载

memcache,memcache服务器群,一款分布式缓存产品,很多大型网站在应用; 它可以应对任意多个连接,使用非阻塞的网络IO。由于它的工作机制是在内存中开辟一块空间,然后建立一个HashTable,Memcached自管理这些HashTable。

e-Accelerator,比较特殊,PHP的缓存和加速器。是一个免费开源的PHP加速、优化、编译和动态缓存的项目,它可以通过缓存PHP代码编译后的结果来提高PHP脚本的性能,使得一向很复杂和离我们很远的 PHP脚本编译问题完全得到解决。通过使用eAccelerator,可以优化你的PHP代码执行速度,降低服务器负载,可以提高PHP应用执行速度最高达10倍。

独立的图片服务器

无论从管理上,还是从性能上看,只要有可能,尽量部署独立的图片服务器。这几乎成为常识了。具备独立的图片服务器或者服务器集群后,在 Web 服务器上就可以有针对性的进行配置优化。

其他

一个互联网应用,除了服务器的操作系统,Web Server软件,应用服务器软件,数据库软件外,我们还会涉及到一些其他的系统,比如一些中间件系统、文件存储系统(图片服务器,视频服务器,管理服务器,RSS和广告服务器等等)、全文检索、搜索、等等。会在以后介绍。

  • 相关推荐
  • 大家在看
  • 苹果自研cpu是什么时候开始的 Mac自研CPU架构、性能详细介绍

    此前苹果分析师郭明錤表示,在 2020 年第四季度或 2021 年第一季度,苹果将推出自家定制处理器的Mac机型。日前据彭博社报道,苹果将会在本月举行的 WWDC20 上宣布 Mac 产品线从英特尔 CPU 过渡到自研 CPU 的计划,基于 ARM 架构。

  • PerfMa完成数千万级A+轮融资 已具IT系统稳定性赛道小巨头雏形

    杭州笨马网络技术有限公司(PerfMa)于 2020 年 6 月 29 日正式宣布完成来自嘉御基金的数千万元A+轮融资。这也是PerfMa继去年 9 月获得同创伟业数千万元A轮融资后的又一轮融资。在后疫情时期资本投资策略日趋保守的背景下,PerfMa仍能受到资本的高度青睐,不仅体现了其业界领先的技术、产品和解决方案能力,更展现了在数字化转型和新基建大背景下的巨大商业潜力。“资本不是做慈善,他们最看重的是创业公司的前景。PerfMa的定位是?

  • Serverless架构的前世今生

    一、Serverless简介云计算的不断发展,涌现出很多改变传统IT架构和运维方式的新技术,而以虚拟机、容器、微服务为代表的技术更是在各个层面不断提升云服务的技术能力,它们将应用和环境中很多通用能力变成了一种服务。但无论这些技术应用在哪里,帮助企业“降本增效”是技术变革永恒的主题。Serverless架构的出现,带来了跨越式的变革。Serverless下主机管理、操作系统管理、基础软件的部署运维、资源分配和扩缩容能力全部由云厂?

  • 苹果怎么录屏?高清稳定的录屏软件

    苹果怎么录屏?苹果电脑和Windows电脑的具体使用感不太相同,电脑录屏的方法也有一些差别。很多使用苹果电脑的小伙伴都在寻找一个合适的电脑录屏方法。下面整理了具体电脑录屏的方法,如果你有电脑录屏需要的话,一起来看看具体的方法吧!分享一、Macbook系统录屏软件苹果电脑也有自带的录屏方法,使用快捷键command+空格键,然后会打开“聚焦搜索”。之后输入QuickTime 并回车,打开电脑中的“QuickTime Player“。其实这个功能不

  • 稳定导航,不断革新—智斗士导航仪

    导航仪属于现代汽车科技的产物,用于汽车导航、定位和娱乐。但随着汽车的普及和道路的建设,人们在城际之间的经济往来也更加频繁,车载GPS导航仪显得更加重要,准确的定位、导航、娱乐功集于一身的导航更能满足车主的需求,成为每辆车子的基本装备;但是随着市场需求量的增大,市场上出现了众多的山寨汽车导航仪品牌,这就为车主选购车载GPS导航仪增加了很大的难度。智斗士也就是在这个情况下悄然孕育而生,智斗士是河南方戈贸易有限公司旗?

  • 飞猪组织架构调整,庄卓然任飞猪总裁

    近日阿里旗下的飞猪平台进行组织架构调整,本次调整就包括原飞猪总裁赵颖将不再担任该职务,接任者为阿里巴巴集团副总裁、阿里文娱CTO兼优酷COO庄卓然。

  • 飞猪回应组织架构调整:系集团内正常轮岗

    飞猪近日进行了一轮组织架构调整,其中阿里巴巴集团资深副总裁、蚂蚁金服国际事业群总裁赵颖(芷雪)不再兼任飞猪总裁,未来将专注于蚂蚁金服国际业务;阿里巴巴集团副总裁、阿里文娱CTO兼优酷COO庄卓然(南天)接任飞猪总裁。对于该组织架构调整,飞猪方面回应称,系集团内部正常轮岗。

  • 飞猪回应“组织架构调整”:集团内部正常轮岗

    今日,针对“组织架构调整”的报道,飞猪回应称,系集团内部正常轮岗。此前,有媒体报道称,飞猪已进行一轮组织架构调整,其中包括飞猪总裁由阿里巴巴集团副总裁、阿里文娱CTO兼优酷COO庄卓然(花名:南天)接任;阿里巴巴集团资深副总裁、蚂蚁金服国际事业群总裁赵颖(花名:芷雪)不再兼任飞猪总裁,未来将专注于蚂蚁金服国际业务。

  • 小米推送MIUI 12稳定版

    DoNews 6月28日消息(记者 刘文轩)小米今天宣布,MIUI12 稳定版第一批支持机型正式开启全量推送。如果用户正在使用MIUI稳定版,在系统设置中进行升级即可。小米也提醒用户确保手机中留有足够空间,同时虽然升级过程中不会清除数据,但也推荐在电脑上对重要数据进行备份。如果用户使用的是MIUI开发版,将不会收到MIUI稳定版的更新推送。开发版可以通过“线刷”方式切换回稳定版,该方式将清除全部数据,务必做好备份。除此之外,MI

  • 淘宝直播将专门开设“今日播法”大型法制直播带货栏目

    据报道,今日下午天猫618首场法制直播由无锡市梁溪区人民法院以淘宝直播案件执行的形式开展。此次案件执行完成后,该法院将一个查封后的被抵押厂房放上阿里拍卖,并直接参与天猫618活动。据了解,本次天猫618共有2282家法院参与,淘宝直播将专门开设“今日播法”大型法制直播带货栏目,不定期直播法院的案件执行。

  • 京东:已积极协调品牌供应商确保北京民生供应稳定

    6月13日消息,针对北京疫情防控形势出现的变化,为保证市场供应,京东今天对外表示,已经协调各品牌供应商,充分保障北京市民的米面粮油、肉蛋菜等日常生活必需品供给,目前各类商品货源充足,消费者无需抢购囤货。京东方面表示,目前,京东所有生鲜类商品均从正规渠道进货,检疫手续100%齐全,确保消费者安全购买。同时,京东持续对仓库及在仓工作人员进行严格健康检测,并进行充分消毒;全面加强线下门店防疫措施,?

  • 60%入门机性能不够!Redmi 9性能升级:联发科G80加持

    性能过剩?事实上还有相当一部分千元机性能远远不够。6月22日消息,Redmi官方表示,有高达60%的入门机跑分低于10万,导致运行卡顿,无法流畅运行大型游戏。Redmi 9重新定义2020年入门机新标

  • 大牛Jim Keller离职 Intel CPU架构将由印度裔高管Raja主导

    今天早上,加入Intel公司不过2年多时间的Jim Keller突然宣布离职,理由是多陪陪家人,辞职将立即生效。在这个CPU大牛离职之后,Intel的团队实际上有一次大规模人员变动,目前主导Intel GPU业务的

  • 苹果Mac弃用英特尔芯片,将引入自研ARM架构芯片

    苹果2020年开发者大会(WWDC)在北京时间凌晨1点正式召开,在本次发布会上苹果公布了一项轰动的消息,即苹果未来将会引入自研的ARM架构芯片,逐步取代现在使用的英特尔芯片,苹果Mac弃用英特尔芯片无疑是对后者巨大的打击。

  • 苹果Mac弃用英特尔芯片 全面引入自研ARM架构芯片

    在苹果开发者大会上,除了发布iOS14 之外,还有一个重磅的点就是苹果电脑要更换处理器了。在发布会上,苹果表示,未来的Mac电脑将不再使用英特尔芯片,而是全面引入自研的ARM架构芯片。

  • 享学课堂Java进阶架构班三期6月开营

    疫情过后,网课的热度依旧没有褪去。虽然刚刚过完“金三银四”程序员面试跳槽的旺季,但是还是有很多程序员继续选择学习深造,提高技术水平,为下一个面试跳槽周期“金九银十”做准备。据享学课堂官方提供的数据,在 2020 年第一季度Java类目下新增VIP学员超过 1000 人,Java课堂VIP总人数已经超过 6000 人。为提高教学服务,保证每位学员得到高质量的学习效果,本月开始享学课堂Java进阶架构班三期正式开营。享学课堂Java进阶架构

  • 滴滴网约车架构调整,付强:提供有口皆碑的服务

    6月18日,滴滴网约车平台公司发布组织和人事任命内部公告,将司机服务部中的司机组织化等团队,转移到大区管理中心。

  • exands连续被海底捞点赞,基础架构为餐企降本增效

    有人说海底捞的成功来自于独特的企业文化,感动员工,让员工去感动客人。其实海底捞跟供应商之间的关系也是一样的,以诚意相互成就,一起成长。今年 5 月,exands(兴容信息)被海底捞评选为 2019 年度优秀合作伙伴。exands是海底捞国内所有门店的信息化基础架构运营商,已连续两年荣获该奖。年初,餐饮行业经历了全面洗牌,一些中小商家因歇业、现金困境而被迫关门倒闭,大型连锁企业通过各种方式来减少支出,思考转型升级,借助?

  • Pensando在云基础架构霸权之战中挑战亚马逊

    统一网络组件,以便可以整体使用它们是思科系统公司通过恰当地命名为统一计算系统(通常称为UCS)解决的难题。现在,随着软件使用量的不断发展变化,随处可用,随时可用的模型,挑战在于如何使网络变得灵活。随着Pensando Systems Inc.在隐身模式下于2019年底推出,思科著名的MPLS帮派及其USC团队正着手为网络基础架构创造新的选择,并挑战Amazon Inc.的Annapurna Labs创新王冠。“让我们建造更大,更美的东西,即使我们

  • 京东上线电商行业首个大型免费版权素材库

    DoNews 6月9日消息(记者 刘文轩)京东官方微信公众号“京东黑板报”发布消息称,京东近日上线了“京东版权素材中心”,面向全量商家和京东平台达人用户免费开放,为数十万商家、达人一年节省至少上亿元的版权素材成本,也规避了商家的侵权风险。京东表示,这是全国电商行业首个大型免费版权素材平台。刚上线的素材中心包含上亿张版权图片素材,提供设计素材、人物肖像、矢量icon等种类,同时引入多样化的主流字体。除此之外,京东

  • 参与评论
文明上网理性发言,请遵守新闻评论服务协议