仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 692|回复: 9
打印 上一主题 下一主题

[CentOS(社区)] 来一发浅谈万万级PV/IP范围高功能高并发网站架构

[复制链接]
谁可相欹 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-14 20:42:42 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
欢迎大家来到仓酷云论坛!原创老男孩linux实战运维培训机构老男孩QQ:31333741
申明:几个月前老男孩发过一次相似的文章,本次为了列入一个伴侣约请的举动,略微完美了一下,接待列位同仁一同交换网站架构手艺。


文章架构简图:



高并发会见的中心准绳实在就一句话“把一切的用户会见哀求都只管往前推”。
假如把来访用户比作来犯的"仇人",我们必定要把他们挡在800里地之外,即不克不及让他们的哀求一下打到我们的批示部(批示部就是数据库及散布式存储)。
如:能缓存在用户电脑当地的,就不要让他往会见CDN。能缓存CDN办事器上的,就不要让CDN往会见源(静态办事器)了。能会见静态办事器的,就不要往会见静态办事器。以此类推:能不会见数据库和存储就必定不要往会见数据库和存储。
提及来很轻松,实践做起来却不简单,但只需略加勉力是能够做到的,Google的日自力IP过亿不也做到了么?我们这几万万的PV站比起Google不是小屋见年夜屋了。我们仍是先从我们的小屋搭起吧!哈哈!上面内容的先容出发点是万万级其余PV站,也能够撑持亿级PV的网站架构。
高功能高并发高可扩大网站架构会见的几个条理:
有人会问,我们总是说把用户对营业的会见往前推,究竟怎样推啊?推到哪呢?上面,老男孩就为人人逐一道来。
第一层:起首在用户扫瞄器端,利用Apache的mod_deflate紧缩传输,再好比:expires功效、deflate和expires功效使用的好,就会年夜年夜提拔用户体验效果及削减网站带宽,削减后端办事器的压力。固然,***另有良多,这里纷歧一细谈了。
提醒:有关紧缩传输及expires功效nginx/lighttpd等软件一样也有。
第二层:页面元素,如图片/js/CSS等或静态数据html,这个层面是网页缓存层,好比CDN(效果比公司本人安排squid/nginx要好,他们更专业,代价昂贵,好比快网/CC等(代价80元/M/月乃至更低)并且掩盖的乡村节点更多),本人架设squid/nginxcache来做小型CDN是次选(超年夜范围的公司大概会思索风险成绩实施自建加购置办事分离),除非是为前真个CDN供应数据源办事,以加重后端我们的办事器数据及存储压力,而不是间接供应cache办事给终极用户。taobao的CDN已经由于一局部图片的次寸年夜而招致CDN压力年夜的情形,乃至对图片尺寸年夜的来改小,以到达下降流量及带宽的感化。
提醒:我们也能够本人架设一层cache层,对我们购置的CDN供应数据源办事,可用的软件有varnish/nginx/squid等cache,以加重第三层静态数据层的压力。在这层的前端我们也能够架设DNS办事器,来到达跨机房营业拓展及智能剖析的目标。
第三层:静态办事器层通常是图片办事器,视频办事器,静态HTML办事器。这一层是后面缓存层和前面静态办事器层的毗连纽带,至公司公布旧事等外容间接由公布职员分发到各cache节点(sina,163等都是云云),这和一样平常公司的营业大概纷歧样。以是,没法间接的参考仿照,好比大家的SNS。
我们可使用Q行列体例完成异步的分发会见,同时把静态公布数据(数据库中的数据)静态化存储。即放到本层会见,或经由过程其他举措公布到各cache节点,而不是间接让一切用户往会见数据库,不晓得人人发明了没有,qq.com流派的旧事批评多的有几十万条,假如一切用户一看旧事就加载一切批评,那数据库不挂才怪。他们的批评必要考核(美其名约,实践是异步的体例,并且,批评大概都是静态化的或相似的静态化或内存cache的体例),这点大概就是必要51cto.com如许站点进修的,你们翻开51CTO的一篇博文,就会发明上面的批评一向都显现出来了,也多是分页的。不外,应当都是间接读库的,一旦会见量年夜,数据库压力年夜是一定。这里不是说51cto网站欠好,一切的网站都是从相似的步伐架构入手下手开展的。CU也多是云云。
提醒:我们能够在静态数据层的前端本人架设一层cache层,对我们购置的CDN供应数据源办事,可用的软件有varnish/nginx/squid等cache。在这层的前端我们也能够架设DNS办事器,来到达跨机房营业拓展及智能剖析的目标。
第四层:静态办事器层:php,java等,只要透过了后面3层后的会见哀求才会到这个层,才大概会会见数据库及存储装备。经由前三层的会见过滤能到这层会见哀求一样平常来讲已十分少了,一样平常都是新公布的内容和新公布内容第一次扫瞄如;博文(包含微博等),BBS帖子。
出格提醒:此层能够在步伐上多做文章,好比向下会见cache层,memcache,memcachedb,tc,mysql,oracle,在步伐级别完成散布式会见,散布式读写分别,而步伐级别散布式会见的每一个dbcache节点,又能够是一组营业大概一组营业拆分隔来的多台办事器的负载平衡。如许的架构会为前面的数据库和存储层年夜年夜的削减压力,那末这里呢,相称于批示部的外层了。
第五层:数据库cache层,好比:memcache,memcachedb,tc等等。
依据分歧的营业需求,选择合适详细营业的数据库。关于memcache、memcachedbttserver及相干nosql数据库,能够在第四层经由过程步伐来完成对本层完成散布式会见,每一个散布式会见的节点都多是一组负载平衡(数十台呆板)。
第六层:数据库层,一样平常的不是超年夜站点城市用mysql主从布局,如:163,sina,kaixin都是云云,步伐层做散布式数据库读写分别,一主(或双主)多从的体例,会见年夜了,能够做级连的主从及环状的多主多从,然后,完成多组负载平衡,供前真个散布式步伐挪用,假如会见量在年夜,就必要拆营业了,好比:我再给某企业做兼职时,发明相似的51cto的一个站点,把www办事,blog办事,bbs办事都放一个办事器上,然后做主从。这类情形,当营业会见量年夜了,能够复杂的把www,blog,bbs办事分离各用一组办事器拆分隔,这类体例运维城市的没啥难度。固然会见量在年夜了,能够持续针对某一个办事拆分如:www库拆分,每一个库做一组负载平衡,还能够对库里的表拆分。必要高可用能够经由过程drbd等工具做成高可用体例。关于写年夜的,能够做主主或多主的MYSQLREP体例,关于ORACLE来讲,来几组oracleDG(1master多salve体例)就够了,11G的DG能够象mysqlrep一样,撑持读写分别了。固然可选的计划另有,mysqlcluster和oracle的RAC,玩mysqlcluster和oracleRAC要必要更好更多的硬件及安排后的大批保护本钱,因而,要综合思索,到这里会见量还很年夜,那就祝贺了,最少是几万万以上乃至上亿的PV了。
象百度等巨型公司除会接纳惯例的mysql及oracle数据库库外,会在功能请求更高的范畴,大批的利用nosql数据库,然后前端在加DNS,负载平衡,散布式的读写分别,最初仍然是拆营业,拆库,。。。慢慢细化,然后每一个点又能够是一组或多组呆板。
出格提醒:数据库层的硬件优劣也会决意会见量的几,特别是要思索磁盘IO的成绩,至公司常常在性价比上做文章,好比中心营业接纳硬件netapp/emc及san光纤架构,关于资本数据存储,如图片视频,会接纳sas或固态ssd盘,假如数据超年夜,能够接纳热门分取分存的***:如:最常会见的10-20%利用ssd存储,两头的20-30%接纳sas盘,最初的40-50%能够接纳便宜的sata。
第七层:万万级PV的站假如计划的公道一些,1,2个NFSSERVER就充足了。我所保护(兼职)或履历过的上万万PV的用NFS及一般办事器做存储的另有年夜把,多一些磁盘,如SAS15K*6的,大概用dell6850,弄几组NFS存储,中小网站充足了。固然能够做成drbd+heartbeat+nfs+a/a的体例。
假如能到达本文计划请求的,中等范围网站,后真个数据库及存储压力会十分小了。象流派网站级别,如XX等,会接纳硬件netapp/emc等等硬件存储装备或是san光纤同志,乃至在性价比上做文章,好比中心营业接纳硬件netapp/emc及san光纤架构,关于资本数据存储,如图片视频,会接纳sas或固态ssd盘,假如数据超到,能够接纳热门分取分存的***:如:最常会见的10-20%利用ssd存储,两头的20-30%接纳sas盘,最初的40-50%能够接纳便宜的sata。
象XX等巨型公司会接纳hadoop平分布式的存储架构,前端在加上多层CACHE及多及的负载平衡,一样会依据营业举行拆分,好比爬虫层存储,索引层存储,办事层存储。。。能够更细更细。。。为了对付压力,甚么手腕都用上了。
特别营业,如某些SNS流派站,包含流派网站的批评,微博,年夜多都是异步的写进体例,即不管读写,并发会见数据库都长短常大批的。
以上1-7层,假如都搭好了,如许漏网到第四层静态办事器层的会见,就未几了。一样平常的中等站点,相对不会对数据库形成太年夜的压力。步伐层的散布式会见是从万万及PV向亿级PV的开展,固然特别的营业还必要特别架构,来公道使用数据库和存储。


如果您觉得本篇CentOSLinux教程讲得好,请记得点击右边漂浮的分享程序,把好文章分享给你的好朋友们!
只想知道 该用户已被删除
沙发
发表于 2015-1-16 21:46:08 | 只看该作者

来一发浅谈万万级PV/IP范围高功能高并发网站架构

对Linux命令熟悉后,你可以开始搭建一个小的Linux网络,这是最好的实践方法。Linux是网络的代名词,Linux网络服务功能非常强大,不论是邮件服务器、Web服务器、DNS服务器等都非常完善。
板凳
发表于 2015-1-16 21:46:08 | 只看该作者

来一发浅谈万万级PV/IP范围高功能高并发网站架构

硬盘安装及光盘安装,清楚了解安装Linux应注意的有关问题,如安装Linux应在最后一个分区内,至少分二个分区。
不帅 该用户已被删除
地板
发表于 2015-1-25 23:01:18 | 只看该作者
主流Linux发行版都自带非常详细的文档(包括手册页和FAQ),从系统安装到系统安全,针对不同层次的人的详尽文档,仔细阅读文档后40%问题都可在此解决。
活着的死人 该用户已被删除
5#
发表于 2015-2-4 15:06:54 | 只看该作者
学习Linux,应该怎样学,主要学些什么,一位Linux热心学习者,一段学习Linux的风云经验,历时十二个小时的思考总结,近十位网络Linux学习者权威肯定,为您学习Linux指明方向。
老尸 该用户已被删除
6#
发表于 2015-2-10 03:11:59 | 只看该作者
了解Linux的网络安全,系统的安全,用户的安全等。安全对于每位用户,管理员来说是非常重要的。
简单生活 该用户已被删除
7#
发表于 2015-2-28 19:26:24 | 只看该作者
Windows有MS-DOS?方式,在该方式下通过输入DOS命令来操作电脑;Linux与Windows类似,也有命令方式,Linux?启动后如果不执行?X-WINDOWS,就会处于命令方式下,必须发命令才能操作电脑。?
精灵巫婆 该用户已被删除
8#
发表于 2015-3-10 07:49:45 | 只看该作者
如果上面的措施没有解决问题,此时你就需要Linux社区的帮助了。 Linux的使用者一般都是专业人士,他们有着很好的电脑背景且愿意协助他人。
再见西城 该用户已被删除
9#
发表于 2015-3-17 06:45:39 | 只看该作者
永中office 2004增强版安装只需要默认安装即可使用并操作大多与win系统雷同,打印机的配置和管理,记录光盘等。
小女巫 该用户已被删除
10#
发表于 2015-3-24 02:38:33 | 只看该作者
随着实验课程的结束,理论课也该结束了,说实话教OS的这两位老师是我们遇到过的不错的老师(这话放这可能不太恰当).
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-6-26 10:55

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表