项目环境:
Centos7服务器 8 台、 Nginx1.21.4 、 ab 、 NFS4 、 Zabbix 、 Keepalived 2.1.5 、 Ansible
项目描述:
模拟企业中的实际环境,构建一个基于 Nginx 的 4/7 层负载均衡的 web 集群项目,达到高并
发,高可用的效果。最后通过压力测试来检验整个
web 集群的性能。
项目步骤:
1. 安装部署 Ansible 服务,建立与其他的服务器之间的免密通道,编写 Playbook 去安装、部
署多台服务器的 Nginx 、 Zabbix 。
2. 通过 Ansible 部署好 Nginx 和 Zabbix ,然后配置 Nginx 长连接,并发数,和 worker 的进程
数限制速度以及 Zabbix 的相关配置等。
3.使用 2 台服务器做成负载均衡器是使 ,用 Nginx 的 4/7 层负载均衡功能实现的,调度算法使用加权轮询。
4. 使用 Keepalived 给负载均衡器做高可用,并配置为互为主备的双vip,防止单点故障,提升资源利用率。
5.搭建 NFS 服务器,保障网站的数据一致性。(参考下面大佬的文章)
Linux下NFS配置及远程挂载 - 七彩乌云 - 博客园 (cnblogs.com)
6. 在客户机上使用 ab 软件进行压力测试。
7. 搭建一个 DNS 服务器,给整个 web 集群进行城名解析,通过 DNS 域名解析负载均衡将 2
个 vip 绑定到一个域名给用户访问使用,从而将流量导入到不同的负载均衡器上。
8. 在 Zabbix 监控平台上添加相关的服务器和监控项,监控整个 web 集群的性能。
9. 尝试去给整个 web 集群参数调优以提升性能,考虑增加缓存服务等措施。
10. 优化安装软件的步骤:全部使用 Ansible 编写 Playbook 安装所有的软件。
项目心得 :
1. 对于集群的概念有了更深刻的理解,认识到一键部署、安装的方便快捷,会有意识的去尝
试更好的自动化操作,如: Ansible 。
2. 也对 DNS 负载均衡, 4/7 层负载均衡有了一定的了解。以及对高性能、高可用有了更多的
认识,了解到更多的系统性能的指标参数。
3. 在实验过程中,发现并了解了脑裂现象,有了一定的认识以及该如何避免。
4. 经过压力测试,集群的瓶颈有了一个整体的概念,对一些基础功能的软件之间的配合有了
一定的了解,例 : Zabbix , Keepalived ,Ansible , Nginx , NFS , ab , bind 等。
5. 对监控( Zabbix )也有了一点了解,监控是非常基础的运维工作,它可以提前让我们看到
问题,并做好预警。
6. 认识到在企业中系统的优化是非常必要的,在不增加成本的情况下提升性能。也帮助我今
后学习大规模的集群打下坚实的基础,整体规划能力得到提升。