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结构能将性能最大化
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结构能将性能最大化

本文深入探讨了在团队资源有限的情况下,如何在性能、易扩展性和易编程性三者间寻找平衡点来构建良好的Web架构。通过实施读写分离、采用间隔写入机制、增加缓存层以及优化数据库构造等策略,实现前端压力的有效缓解和数据库故障的最小化影响。同时,文章强调了页面静态化、局部更新和实时查询的重要性,旨在构建高性能、高可用的Web系统。
3854

被折叠的 条评论
为什么被折叠?



