大型社区网站的架构

 最近一段时间看了一些大型社区网站的架构设计, livejournal,mixi.jp,flick,feedburner,这些网站都有一些共同的特点;数据量大,在线人数多,并发请求多,pageview高,响应速度快,甚至mixi.jp宣称其平均页装载速度0.02秒。

这些网站都没有使用什么大型的"高级"的数据库,全都是Mysql,也没有使用什么"高级"的语言,主要都是perl/php等,只有FB用的是java。这些网站的这些高性能指标基本上都要归功与各网站都有很好的架构设计。

总结了一下各个大型社区网站的架构,希望对我们的产品能够有所借鉴,
主要提高效率及稳定性的几个地方包括:

1,基于集群的负载均衡,失败恢复,包括应用服务器和数据库服务器

基于linux-ha的服务状态检测及高可用化

2,前端的基于静态页面缓存的web加速器,主要应用有squid等

squid 将大部分静态资源(图片,js,css等)缓存起来,直接返回给访问者,减少应用服务器的负载

3,数据库服务器的master-slave模式,利用数据库服务器在主从服务器间进行同步,应用只把数据写到主服务器,而读数据时则根据负载选择一台从服务器或者主服务器来读取

4,将数据按不同策略划分到不同的服务器(组)上,分散数据库压力

5,利用Memcache进行缓存,用大内存把这些不变的数据全都缓存起来,而当修改时就通知cache过期

memcache是LJ开发的一款分布式缓存产品,很多大型网站在应用,我们可以把Cache Server与App Server装在一起。因为Cache Server对CPU消耗不大,而有了Cache Server的支援,App Server对内存要求也不是太高,所以可以和平共处,更有效的利用资源

以上一些不太成熟的想法,我们可以从某一个层次开始,逐步细化,把我们产品的性能指标逐步搞上去。

大型社区网站的架构!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值