可扩展、高可用与负载均衡网站架构设计策划方案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
可扩展、高可用、负载均衡网站架构设计方案
2009-06-08 13:22
差不多需求:
1、高可用性:将停止服务时刻降低到最低甚至是不间断服务
2、可扩展性:随着访问的增加,系统具备良好的伸缩能力
3、可视性:系统、服务的状态处于一个实时的监控之下
4、高性能高可靠性:通过优化的体系结构及合理的备份策略
5、安全性:结构上的安全及主机的安全策略
差不多思路
1、关于访问频繁,用户量大的对象(bbs,blog)采纳某种合理的方式负载到多个
服务器上。把数据库独立出来,预备2套mysql数据库,以实现主从复制,即减轻负载,又提高了可靠性。更近一步,使用mysql proxy技术,实现主从服务器的读写分离,大大提高那个系统的性能和负载能力。
2、数据库与外部网络隔离,只同意web服务器(bbs,blog等)通过私有地址方
式访问。如此就提高了数据库的安全性,同时也节约了宝贵的带宽。
3、部署监控系统,通过监控主机存活、服务、主机资源,实时把系统的健康状
态置于可视状态,对系统的运营状态心中有数。
4、备份是想都不用想的情况,使用单独的服务器集中备份,是一个比较不错的
主意。
拓扑结构
业务逻辑
技术实现
1、负载均衡。2台同样配置的linux服务器,内核支持lvs,配置keepalived工具,即可实现负载转发。一旦其后的真实服务器出现故障,keepalived会自动把故障机器从转发队列删除掉,等到故障修复,它又会自动把真实服务器的地址加入转发列表。由于lvs支持会话保持,因此关于bbs 如此的应用,一点也不用担心其登录丢失。
2、mysql主从复制。即保证数据的安全,又提高了访问性能。我们在前端的每个web服务器上加入mysql proxy那个工具,即可期待实现读写的自动分离,让写的操作发生在主数据库,让查询这类读操作发生在从数据库。
3、nagios是一个开源的,受广泛欢迎的监控平台。它可对主机的存活、系统资源(磁盘空间、负载等)、网络服务进行实时监控。一旦探测到故障,将自动发送邮件(短信)通知故障。
4、备份。包括web数据和数据库服务器的备份。关于web服务而言,GNU tar 即可实现备份的一切愿望。简单的设置一下crontab 就能够让系统在我们做梦的时刻老老实实的帮我们备份了。然而,由于空间的限制,不可能一直备份下去,因此要做一个合适的策略,以不断的用新的备份去替换陈旧的备份数据;多少天合适?看磁盘容量吧。关于数据库,先mysqldump一下,再tar.完成这些工作后把备份文件传输到备份服务器集中。一个比较省事的方法是把备份服务器以NFS 方式挂接到web服务器及数据库服务器。