09年设计的百万级PV互动社区架构

from
http://blog.sina.com.cn/s/blog_6850d6c00100io92.html


所谓良好的WEB架构,无非就是针对团队现有资源,在性能要求、易扩展性、易编程三者中寻找平衡点

人少有人少的做法,人多自然可以侧重性能而淡化易编程,最终能和谐的完成就皆大欢喜




上述架构说明:

1、  采取读写分离机制,初期可以用一台主DB服务器以及一台从DB服务器
2、  对于写入频繁的操作(如发帖),可采用间隔写入机制
3、  如果前端压力过大,可加大缓存层,或直接扩展机子
4、  减少数据库挂了产生的影响,不过需要运维的监控及时

程序实现方面的规则说明:

1、页面尽可能静态化,对于局部需要更新的地方以ajax接口形式获取

2、对于静态页面数量太大,全部生成一次麻烦的地方,则采用被动更新机制,如会员相关资料修改后,可触发单独生成相关会员的资料页面

3、对于实在需要实时查的地方,就放胆查吧,架构已能撑起一定大的查询量了

数据库构造及查询相关:

1、对于量大的表以分表形式来做,当然Mysql5支持分区,对程序透明更好

2、相关表字段、索引构造的重要性不在赘述,请多读mysql手册

3、关键还是测试期充分打开慢查询记录,以及多结合mysqldump工具分析SQL瓶颈

其他:

实现的细节还是有挺多要考虑到的,除此外使用流行的nginx+php结构能将性能最大化

猜你喜欢

转载自jiakechong.iteye.com/blog/1579594