配置 haproxy 负载均衡群集(一)

本文涉及的产品
传统型负载均衡 CLB,每月750个小时 15LCU
网络型负载均衡 NLB,每月750个小时 15LCU
应用型负载均衡 ALB,每月750个小时 15LCU
简介: 本文将要介绍一款比较流行的群集调度工具。首先介绍负载均衡常用调度算法,然后介绍Haproxy搭建web群集的方法。

📝理论讲解:


负载均衡常用调度算法

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,也有很多人使用国内的一些产品,如梭子鱼、绿盟等。


📖实验配置与实现:


拓扑图:

c14fffb90b012c2835d9f0736c8137f.png


推荐步骤:

➢ Haproxy 服务器和 web 服务器以及客户端配置 IP 地址

➢ 安装配置两台 Nginx 网站服务器

➢ 配置 haproxy 和 DNS 服务器使用域名  www.bdqn.com 访问负载均衡群集


实验步骤:


一、Haproxy 服务器和 web 服务器以及客户端配置 IP 地址


1、haproxy 配置 IP 地址和路由功能


1)haproxy 服务器生成外网网卡配置 IP 地址


1ae21eb1b2827a1f20af3c82a3fe089.png


2)haproxy 服务器配置内网 IP 地址


7a9ffb76ef1f40bdf8e7126156a30a2.png

a230f7fb64d690c7230cda3bef7d8a2.png


3)haproxy 服务器外网 IP 地址

888e86e5aed8c386cd1c1c9a2ff4984.png57f692e0922e91346dea18f4d58f986.png


4)重新启动网卡服务查看配置的 DNS


d20b09ed437465d920c13e5f7b6e965.png


5)haproxy 服务器开启路由转发功能


33aa8166a698d0917167a48c06d4548.png

949c3d6d1e6a02d2d9d3bd78b0c00fe.png

5a01d43f59e5f1c8945437a3347f937.png


2、第一台 web 服务器配置 IP 地址


1)修改网卡配置文件

4828c03cafdbd0c6bface74be63dc2e.pnge03dd9f03d9e952b0827843c7230e3b.png


2)重启网卡服务查看配置的默认网关


8cdfad83f6df0a65b527d0b86f24100.png


3、第二台 Web 服务器 IP 地址


1)修改网卡配置文件

cb45358b458d7d99ba7d341dfdb9aac.png98a2aa9d837144685a26f0b31cb76a4.png


2)重启网卡服务查看配置的默认网关


1081b921fe62a48565f1f89c378d03b.png


4、客户端配置 IP 地址


1) 客户端配置 IP 地址

463dc48993b25671fe98ee2a291d748.png


2)查看配置的 IP 地址

df538339234298c1f1696f03be8c8e4.png


二、安装配置两台 Nginx 网站服务器


1、配置第一台 web 服务器安装依赖软件和创建管理用户


1)切换系统光盘安装依赖程序

9c8f5fda9a56c68e95d1cde4aa4270d.png



2)删除系统 yum 仓库配置本地 yum 仓库

7c92b3b0c8cff7d6cc50e0330b08718.png


3)挂载系统盘

88a8261da6c8822dcf4f3cbf7514010.png


4)安装依赖软件和创建管理 Nginx 用户

e2bbdf4425a3e99ee3498b9be8ae9a4.png

24e382ebe3261c735422f2eeb707aee.png



2、配置安装第一台 Web 服务器


1)卸载系统光盘挂载程序光盘

279019ed13e1fa9f7f17c90d7dd912c.png


efc109157d39463dc89f8246de4adc3.png


2)解压缩配置 Nginx 服务器


04d5c3d407e01d0987d0ad38931e117.png


3)编译安装 Nginx 服务器

4cdcfac5c53fc6ef32f903c6b2104c7.png

4)优化服务命令


76af6d2b16c742b94e26b29592c4a55.png


5)设置 Nginx 服务器主页


ff4367a717ec20dc3452f18ffea03cb.png


6) 启动服务器查看运行状态


9da4c1af6427d09064bb0277241088f.png


3、配置第二台 web 服务器安装依赖软件和创建管理用户


1)切换系统光盘安装依赖程序

50ba5393651980a1ee3a47fd36c64cb.png


2)删除系统 yum 仓库配置本地 yum 仓库

1709f7de94626a1c1c5bc4ab90d2a72.png


3)挂载系统盘


28627cb12d3e611503a2f00231322ab.png


4)安装依赖软件和创建管理 Nginx 用户


bbfedb24ad1ada4b6a907f462d8c841.png

1c57c6e4edbb040f1869971a8167993.png



4、配置安装第二台 Web 服务器


1)卸载系统光盘挂载程序光盘

591fa9403c4b7f9720ce451e298abeb.png

1fac21763f71a6c1ea2d865cf1712f8.png


2)解压缩配置 Nginx 服务器

814c6558f91dfb26ffdf9a0ae65fc23.png


3)编译安装 Nginx 服务器


a729bb26240a76fbe7a0c13afec5a6d.png


4)优化服务器命令


11dfebbd8ac00eb0f4833461f4ac0b0.png


5)设置 Nginx 服务器主页


fc54da184f7f39ab3f2757ee7282fe1.png


6)启动服务器查看运行状态


db4d8f1f1c0a70f67ab0d5c08dde4b7.png




相关实践学习
SLB负载均衡实践
本场景通过使用阿里云负载均衡 SLB 以及对负载均衡 SLB 后端服务器 ECS 的权重进行修改,快速解决服务器响应速度慢的问题
负载均衡入门与产品使用指南
负载均衡(Server Load Balancer)是对多台云服务器进行流量分发的负载均衡服务,可以通过流量分发扩展应用系统对外的服务能力,通过消除单点故障提升应用系统的可用性。 本课程主要介绍负载均衡的相关技术以及阿里云负载均衡产品的使用方法。
相关文章
|
28天前
|
监控 Linux 应用服务中间件
在Linux中,如何配置负载均衡器?
在Linux中,如何配置负载均衡器?
|
29天前
|
负载均衡 应用服务中间件 Linux
在Linux中,如何配置负载均衡器?
在Linux中,如何配置负载均衡器?
|
1月前
|
负载均衡 网络协议 应用服务中间件
如何配置 DNS 轮询负载均衡以实现高可用性
如何配置 DNS 轮询负载均衡以实现高可用性
88 4
|
1月前
|
负载均衡 算法 前端开发
HAProxy 和负载均衡概念简介
HAProxy 和负载均衡概念简介
59 3
|
30天前
|
负载均衡 监控 前端开发
在Linux中,如何配置负载均衡器以分配网络流量?
在Linux中,如何配置负载均衡器以分配网络流量?
|
30天前
|
负载均衡 算法 Linux
在Linux中,如何配置负载均衡器以分配网络流量?
在Linux中,如何配置负载均衡器以分配网络流量?
|
2月前
|
负载均衡 算法 Ubuntu
IPVSADM命令详解及负载均衡配置示例
IPVSADM命令详解及负载均衡配置示例
|
3月前
|
缓存 负载均衡 算法
解读 Nginx:构建高效反向代理和负载均衡的秘密
解读 Nginx:构建高效反向代理和负载均衡的秘密
92 2
|
2月前
|
负载均衡 算法 应用服务中间件
nginx自定义负载均衡及根据cpu运行自定义负载均衡
nginx自定义负载均衡及根据cpu运行自定义负载均衡
32 1
|
2月前
|
运维 负载均衡 算法
SLB与NGINX的异同是什么
SLB与NGINX的异同是什么
118 2