|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
如果需要重新编写代码,几乎任何一门计算机语言都可以跨平台了,还用得着net网页编程嘛,而且像PHP/C#等语言不需要修改代码都可以跨Windows/Linux。PlentyOfFish(以下简称POF)是一家在美国广受接待的婚介结交网站,均匀每个月有4千5百万的会见者,天天有3万万的会见量(这是前一段工夫的数据了),但你切切想不到的是,这个被估值$1000000000的网站却只要一团体天天只干两小时活。
POF对网友是100%收费的,一切的支出来自于Google告白点击,不像中国有的婚介结交网站告白庞杂,POF只要一个告白通栏,别的没有任何弹出告白,感到十分的简便。它的乐成的关头要素大概就是在基础功效方面能很切合用户的必要,在UE方面做的也对照知心,同时也让用户可以安然承受这个收费网站的UI的丑恶和服务的不不乱性,而更加乐意经由过程这个平台来公布一些内容,share一些团体图片,经由过程这个网站来找靓妞大概帅哥dating了。
我们先临时不谈他在用户体验上是怎样胜出的,光是体系架构上就值得我们好好体会一下了,究竟一团体花那末少点工夫就能够保护云云复杂的体系,因而可知其架构是云云的复杂、天真、高效。那我们就复杂来剖析他的架构吧。
- 用MicrosoftWindows操纵体系作为服务器
该网站接纳的是Windowsx64Server2003。接纳Windows的缘故原由是并非站长以为Windows合适POF,而是由于站长自己建站时分的手艺很差,完整不会利用Linux和Unix。他办这个网站的初志实际上是进修ASP。也由于云云,全部网站的尺度就是复杂、复杂、再复杂。关于年夜流量负载平衡的处置,站长今朝没有利用Windows的负载平衡NetworkLoadBalancing(NLB),他以为NLB不克不及坚持sessions形态。关于不克不及坚持sessions形态,倒也能够存储session形态到数据库,大概共享文件体系。8-12个NLB服务器能够配合放进一个farm,并且farm的数目也是没无限制的。然后将一个DNS轮转调剂战略(round-robinscheme)用在farm之间。实在如许的架构,也已经一度被用在POF——总计70个前端Web服务器(frontendwebservers),能够撑持30万人的并发会见。NLB也是一个不错的选择。可是如许的软件办理计划显得有点贵,并且很贫苦,终极站长选择了硬件来完成负载平衡义务。
- 利用ASP.NET手艺
ASP.NET中的缓存功效完整没有启用。由于该网站的静态特征,常常还没等缓存贮存,数据就已改动或消散了。别的,该站点也没有效ASP.NET开辟甚么组件,一切的组件都是现成的,统统都以复杂动身。
- 利用IIS作为Web容器
因为IIS限定了最年夜64000的毗连数,以是POF不能不增加负载平衡器来处置为数浩瀚的并发毗连。站长已经思索过增加第二IP,并接纳轮转调剂(Round-Robin)来办理会见量过年夜的成绩,可是如许太甚庞大,有悖于一团体的复杂办理,最初被保持了。实在用多个Web服务器就能够复杂办理。
- 用AkamaiCDN来缓存网页
该站点部署了AkamaiCDN(网页缓存减速),天天处置约莫1亿幅图片的缓存减速。CDN的道理是将你站点部分的内容,分发到CDN服务商的服务器上,由于CDN服务商普遍散布的服务器能够加倍靠近终极用户的地区,如许速率就会更快。假设你以后的POF页面有8幅图片,每幅图片的下载必要100毫秒,那末光下载这些图片就必要花上一秒钟。以是分派这些图片到离用户更近的地区长短常需要的,并且CDN也必定水平减缓了分歧收集服务商之间的线路差别。固然,也不是一切的图片都接纳了CDN,一些小于2KB的图片仍是缓存于当地内存。大概由于部署了CDN,POF固然是外洋网站,但速率却十分快,与国际网站无二。有关CDN手艺,能够参考http://baike.baidu.com/view/21895.htm
- 用FoundryServerIron来做负载平衡
POF接纳了网捷收集公司的Web互换器ServerIron,ServerIron可以无效地处置凌驾16,000,000个并发毗连,并且可以改良服务器负载平衡弛缓冲转换。正如上文所述,终极站长保持了NLB而接纳了ServerIron负载平衡,经由具体盘算以后,他发明部署ServerIron要比NLB廉价。实在也不但是POF,良多年夜网站都接纳ServerIron来处置TCP毗连pooling和bot主动监察。ServerIron除负载平衡还能做良多事变,因而仍是值得的思索的。
- 数据库优化
3台SQLServer,接纳master-slave架构,两台卖力read操纵,master那台卖力写操纵。这个和myspace初期的背景数据库架构是一样,看来这类架构很盛行嘛。POF有一个次要的数据库,两个搜刮数据库。监测利用义务办理器来完成。已往,有些成绩会将数据库梗塞,实在这都是数据库本人的成绩,幸亏POF没用.net的library,找出成绩绝对简单一些。不外假设你利用了framework的良多层级,找出成绩便可能很坚苦了。关于POF而言,数据库不单单是不出成绩,还必要不乱和疾速。因为POF网站的静态特征,基础用不到缓存,以是站长几年来花了很年夜工夫,在良多细节上优化了数据库,让数据库的响应加倍敏捷。
- Memory和CPU
把比来常利用的图片间接放在内存中,以是内存会那末年夜;CPU设置也挺好,gzip是相称泯灭CPU盘算的。Markus说他碰着成绩基础上是IO操纵方面的瓶颈,很少是被.Netblock住。Markus在Session,Farm,和数据库反范式等良多方面都有很不错的履历,很值得我们进修和自创,更多的细节人人能够参考前面的链接的几篇文章。
- 紧缩
一切的request数据都利用了gzip紧缩,也许泯灭了30%的CPU,可是下降了带宽本钱。西欧的带宽方便宜。
中国的经济情况延续向好,以是良多公司的IT部门都失掉了更多的预算,但这些预算被公道的利用了吗?这些预算常常被用来推销更好的服务器硬件,更新的操纵体系和数据库软件,另有形形色色的行业使用。倒不是说这些部署欠好,只是说我们的IT部署必定要以有用为起点,少做一些无关紧要的投资。我们要多向POF进修,实在不乱、疾速、便利才是制胜的关头。正如POF站长几回再三夸大的复杂哲学,一切庞大的工具都只管不往利用。
固然站长一入手下手的手艺一样平常,可是跟着建站工夫的加长,他如今也已是一个网站架构专家,他花了良多力量来优化数据库和保护体系,并且他也接纳了CDN来加速分歧地区的用户会见网站空间。不外实在该网站的搭建能够加倍公道,好比能够接纳S3来外包其图片存储,接纳更轻质化的操纵体系大概Web服务器等等。这些年来,相似于如许的倡议十分多,可是站长仍是保持了他的复杂战略,并且也回绝对主页面举行美工优化,由于他以为过剩的事情只会引来别人恶感,有用才是关头。可见,坚持复杂性,和延续勤奋的保护是服务器运转优秀的宝贝。
信任我们能够从POF上进修的工具另有良多,究竟该网站以一己之力,到达了史无前例的高度,净利润居然切近亲近了500多人的年夜型IT网站。POF的乐成一定有它的深入来由,不但是网站的全体的服务器和软件架构、良多细节的处置也一样值得我们自创。
我感觉可以顶到50楼,出乎意料的是大家居然纷纷写出自己的博文,还被编辑做成了专题,置于首页头条。 |
|