📝理论讲解:
负载均衡常用调度算法
LVS、Haproxy、Nginx最常用的调度算法有三种,如下所述
RR(Round Robin)。RR算法是最简单常用的一种算法,即轮询调度。例如,有三个节点 A、B、C,第一个用户访问会被指派到节点 A,第二个用户访问会被指派到节点 B,第三个用户访问会被指派到节点 C,第四个用户访问继续指派到节点 A,轮询分配访问请求实现负载均衡效果。此算法还有一种加权轮询,即根据每个节点的权重轮询分配访问请求。
LC(Least Connections)。LC算法即最小连接算法,根据后端的节点连接数大小动态分配前端请求,例如,有三个几点 A 、B、C,各节点的连接数变为 A:4、B:5、C:6,此时如果有第一个用户连接请求,会被指派到 A上,连接数变为 A:5、B:5、C:6;第二个用户请求会继续分配到 A上,连接数变为 A:6、B:5、C:6;再有新的请求会分配给 B,每次将新的请求指派给连接数最小的客户端。由于实际情况下 A、B、C 的连接数会动态释放,很难会出现一样连接数的情况,因此此算法相比较RR算法有很大的改进,是目前用到比较多的一种算法。
SH(Source Hashing)。SH基于来源访问调度算法,此算法用于一些有Session会话记录在服务器端的场景,可以基于来源的IP、Cookie等做群集调度。例如,使用基于源IP的群集调度算法,有三个节点 A、B、C,第一个用户第一次访问被指派到了 A,第二个 用户第一次访问被指派到了 B,实现群集的调度。此调度算法好处是实现会话保持,单某些IP访问量非常大时会引起负载不均衡,部分节点访问量大、影响业务使用。
常见的Web群集调度器
目前常见的Web群集调度器分为软件和硬件,软件通常使用开源的LVS、Haproxy、Nginx,硬件一般使用比较多的是F5,也有很多人使用国内的一些产品,如梭子鱼、绿盟等。
📖实验配置与实现:
拓扑图:
推荐步骤:
➢ Haproxy 服务器和 web 服务器以及客户端配置 IP 地址
➢ 安装配置两台 Nginx 网站服务器
➢ 配置 haproxy 和 DNS 服务器使用域名 www.bdqn.com 访问负载均衡群集
实验步骤:
一、Haproxy 服务器和 web 服务器以及客户端配置 IP 地址
1、haproxy 配置 IP 地址和路由功能
1)haproxy 服务器生成外网网卡配置 IP 地址
2)haproxy 服务器配置内网 IP 地址
3)haproxy 服务器外网 IP 地址
4)重新启动网卡服务查看配置的 DNS
5)haproxy 服务器开启路由转发功能
2、第一台 web 服务器配置 IP 地址
1)修改网卡配置文件
2)重启网卡服务查看配置的默认网关
3、第二台 Web 服务器 IP 地址
1)修改网卡配置文件
2)重启网卡服务查看配置的默认网关
4、客户端配置 IP 地址
1) 客户端配置 IP 地址
2)查看配置的 IP 地址
二、安装配置两台 Nginx 网站服务器
1、配置第一台 web 服务器安装依赖软件和创建管理用户
1)切换系统光盘安装依赖程序
2)删除系统 yum 仓库配置本地 yum 仓库
3)挂载系统盘
4)安装依赖软件和创建管理 Nginx 用户
2、配置安装第一台 Web 服务器
1)卸载系统光盘挂载程序光盘
2)解压缩配置 Nginx 服务器
3)编译安装 Nginx 服务器
4)优化服务命令
5)设置 Nginx 服务器主页
6) 启动服务器查看运行状态
3、配置第二台 web 服务器安装依赖软件和创建管理用户
1)切换系统光盘安装依赖程序
2)删除系统 yum 仓库配置本地 yum 仓库
3)挂载系统盘
4)安装依赖软件和创建管理 Nginx 用户
4、配置安装第二台 Web 服务器
1)卸载系统光盘挂载程序光盘
2)解压缩配置 Nginx 服务器
3)编译安装 Nginx 服务器
4)优化服务器命令
5)设置 Nginx 服务器主页
6)启动服务器查看运行状态