项目名称:高负载网站架构
项目要求:
1、 高可用:服务停止时间降低到最低
2、 可扩展性:根据生存随时增加设备
3、 可视性:实时监控系统、服务状态。
4、 高性能高可靠性:体系结构优化以及合理备份
5、 安全性:结构和系统的安全
项目实施:
1、负载均衡:用两台内核支持lvs的linux服务器,配置keepalived实现负载均衡,一旦一台web服务器出现故障,keepalived将检测到,并将有故障的web服务器从系统中剔除,等故障服务器恢复正常后keepalived自动将web服务加入到服务群中。保证了服务停止时间降到最低。
2、mysql主从复制:在每个前端web服务器上加入mysql proxy实现读写自动分离,让写的操作发生在主数据库上,让读的操作发生在从的数据库上。即保证了安全,有提高了性能
3、系统、服务监控:利用nagios实时监控系统资源和服务状态,一旦发生故障将自动发送报警邮件或者短信通知。
4、备份。对于网站,把网站数据存储直接挂载到四台web服务器上。对于数据库,利用mysqldump备份,再tar.压缩完成后把备份文件传输到备份服务器集中。最简单的方法是把备份服务器以NFS方式挂接到web服务器及数据库服务器,在加一台利用rsync做数据同步数据备份更安全。
5、web服务器。至少包括apache、mysql proxy和缓存这三个组件。Apache做容器,以虚拟机方式把用户的请求转发到文件服务器,缓存,加速网站显示,减轻数据库的压力,提高用户体验度。
6、安全措施。包含两层安全,一层是主机本身,另一层是结构(mysql从外部网络隔离)。
项目总结:
了解负载均衡、mysql主从、keepalived的基本原理和网站的内部架构流程。网站运维思维:数据安全、系统稳定,一旦发送故障通过监控找到故障点,查找故障原因,解决故障