可扩展、高可用、负载均衡网站架构设计方案2009-06-0813:22基本需求:、高可用性:将停止服务时间降低到最低甚至是不间断服务、可扩展性:随着访问的增加,系统具备良好的伸缩能力、可视性:系统、服务的状态处于一个实时的监控之下、高性能高可靠性:经过优化的体系结构及合理的备份策略、安全性:结构上的安全及主机的安全策略基本思路1、对于访问频繁,用户量大的对象(bbs,blog)采用某种合理的方式负载到多个服务器上
把数据库独立出来,准备2套mysql数据库,以实现主从复制,即减轻负载,又提高了可靠性
更近一步,使用mysqlproxy技术,实现主从服务器的读写分离,大大提高这个系统的性能和负载能力
2、数据库与外部网络隔离,只允许web服务器(bbs,blog等)通过私有地址方式访问
这样就提高了数据库的安全性,同时也节省了宝贵的带宽
3、部署监控系统,通过监控主机存活、服务、主机资源,实时把系统的健康状态置于可视状态,对系统的运营状态心中有数
4、备份是想都不用想的事情,使用单独的服务器集中备份,是一个比较不错的主意
拓扑结构业务逻辑技术实现1、负载均衡
2台同样配置的linux服务器,内核支持lvs,配置keepalived工具,即可实现负载转发
一旦其后的真实服务器出现故障,keepalived会自动把故障机器从转发队列删除掉,等到故障修复,它又会自动把真实服务器的地址加入转发列表
由于lvs支持会话保持,因此对于bbs这样的应用,一点也不用担心其登录丢失
2、mysql主从复制
即保证数据的安全,又提高了访问性能
我们在前端的每个web服务器上加入mysqlproxy这个工具,即可期待实现读写的自动分离,让写的操作发生在主数据库,让查询这类读操作发生在从数据库
3、nagios是一个开源的,受广泛欢迎的监控平台
它可对主机的存活、系统资源(磁盘空间、负载等)、网络服