PlentyOfFish 网站架构学习

本文探讨了在线约会网站PlentyOfFish的技术架构,重点介绍了其采用Windows.NET技术栈的原因及实现方式。文章还深入分析了该站点在带宽与CPU使用、负载均衡策略、数据库配置等方面的独特做法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

原贴:http://www.dbanotes.net/arch/plentyoffish_arch.html

PlentyOfFish 网站架构学习

采取 Windows 技术路线的 Web 2.0 站点并不多,除了 MySpace ,另外就是这个 PlentyOfFish。这个站点提供 "Online Dating” 服务。一个令人津津乐道的、惊人的数据是这个只有一个人(创建人Markus Frind)的站点价值 10 亿,估计要让很多人眼热,更何况 Markus Frind 每天只用两个小时打理网站--可操作性很强嘛。

之所以选择 Windows .NET 的技术路线是因为 Markus Frind 不懂 LAMP 那一套东西,会啥用啥。就这样,也能支撑 超过 3000 万的日点击率(从这个数字也能看出来人类对自然天性的渴望是多迫切)。Todd Hoff 收集了很多关于 PlentyOfFish 架构的细节。记录一下感兴趣的部分。

带宽与CPU

PlentyOfFish 比较特殊的一个地方是 几乎不需要 Cache,因为数据变化过快,很快就过期。我不知道这是因为 ASP.NET 的特点带来的架构特点,还是业务就是这个样子的。至于图片,则是通过 CDN 支撑的。对于动态出站(outbound)的数据进行压缩,这耗费了 30% 的 CPU 能力,但节省了带宽资源。我最近才知道,欧美的带宽开销也不便宜。

负载均衡

微软 Windows 网络负载均衡(Network Load Balancing) 的一个缺陷是不能保持 Session 状态(我没有用过这玩意儿,不能确认),价格也不便宜,而且复杂;网络负载均衡对 Windows 架构的站点又是必须--IIS 的总连接数是有限制的。PlentyOfFish 用的是 ServerIron

 
(Conf Refer),ServerIron 使用简单,而且功能比 NLB 更丰富。

 

数据库

一共三台 SQL Server,一台作为主库,另外两台只读数据库支撑查询。数据库性能监控用的是“Windows 任务管理器"。因为 Cache没啥用,所以要花大力气优化 DB。每个页面上调用 DB 次数越少越好,越简单越好,这是常识,不过不是每个人都体会那么深而已。

微软好不容易找到了一个宣传案例,所以在 Channel 9 上有一个 PlentyOfFish 的访谈

PlentyOfFish 取自天涯何处无芳草(Plenty of fish in the sea)的意思,还挺有文化的。从这一点上看,比国内那些拉皮条的网站好一些。

--EOF--

| | Comments (2) | | Edit

Generator
<script type="text/javascript"> </script> <script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript"> </script> <script language="JavaScript1.1" src="http://pagead2.googlesyndication.com/cpa/ads?client=ca-pub-2198040673582211&cpa_choice=CAAQhaT2_gEaCI52gVKP95-sKLGsuIEBMAA&oe=utf-8&dt=1196763634171&lmt=1196753396&format=ref_text&output=textlink&correlator=1196763634156&url=http%3A%2F%2Fwww.dbanotes.net%2Farch%2Fplentyoffish_arch.html&region=_google_cpa_region_&cc=100&ga_vid=711829918.1196763634&ga_sid=1196763634&ga_hid=591924921&flash=9&u_h=1024&u_w=1280&u_ah=874&u_aw=1280&u_cd=32&u_tz=480&u_java=true" type="text/javascript"></script> Get Firefox with Google Toolbar for better browsing
<script type="text/javascript"> </script> <script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript"> </script> <script language="JavaScript1.1" src="http://pagead2.googlesyndication.com/cpa/ads?client=ca-pub-2198040673582211&cpa_choice=CAAQidTQgAIaCEapPfRcsfp6KN2uuIEBMAA&oe=utf-8&dt=1196763634687&lmt=1196753396&prev_fmts=ref_text&format=ref_text&output=textlink&correlator=1196763634671&url=http%3A%2F%2Fwww.dbanotes.net%2Farch%2Fplentyoffish_arch.html&region=_google_cpa_region_&cc=100&ga_vid=711829918.1196763634&ga_sid=1196763634&ga_hid=591924921&flash=9&u_h=1024&u_w=1280&u_ah=874&u_aw=1280&u_cd=32&u_tz=480&u_java=true" type="text/javascript"></script> Generate revenue from your website. Google AdSense.

自定义搜索

本文相关评论|Comments(2)

Zeeno 的评论:

看了这么多,这个PlentyOfFish是最令我震撼的,也令我对自己的那些感到汗颜啊

solorez 的评论:

NLB可以保持session的:
http://hi.baidu.com/solorez/blog/item/4105424a6493812009f7ef06.html
做下广告:)
刚入IT,对ServerIron不是太熟悉,找机会看看~

添加评论

<script type="text/javascript"> </script> 直接 匿名评论 或者 登录 评论这篇文章(OpenID、TypeKey...)
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值