目录
一、haproxy理论介绍
1、haproxy的来源以及下载网站
haproxy由c语言编写的,可以提供负载均衡和高可用性,
社区版下载网站:HAProxy - The Reliable, High Perf. TCP/HTTP Load Balancer
2、负载均衡及其优点
2.1、负载均衡:
当用户流量访问时,通过一台设备,将流量合理调度到内部主机中,从而加快处理流量的效率
2.2、负载均衡的优点
增加服务器的业务处理能力,解决服务器硬件瓶颈问题
节约公网ip地址,降低成本
隐藏内部服务器ip,增加服务器安全性
配置简单,只需更改固定文件
性能较强,可以并发数万以及数十万
2.3、利用硬件进行负载均衡
美国F5网络公司----F5
耀--------------------array
深信服-----------------AD-1000
2.4、利用haproxy配置负载均衡
2.4.1、四层负载均衡
通过ip和port(端口)进行负载均衡的分配
记录tcp,和udp流量由哪些服务器处理,后续该请求连接的流量都通过该服务器处理
通过NAT技术,转发到后台服务器
支持四层负载均衡的软件:LVS , Nginx , Haproxy等
通过虚拟url或主机ip进
2.4.2、七层负载均衡
通过对虚拟URL或主机i进行对流量的识别,根据应用层信息进行解析
代理后台服务器与客户端进行连接,可以进行后端检测
支持七层代理的软件:Nginx , Haproxy
2.4.3、四层与七层的区别
区别在于对服务器进行负载均衡时依据四层或七层的信息来进行负载均衡
四层负载均衡:通过三层的IP地址,和四层的端口号,决定流量的负载均衡,对需要进行负载均衡的流量进行nat处理,转发至后台服务器,记录下TCP和UDP是与哪台服务器建立连接的,后续这个连接的所有流量处理都是此服务器完成
七层负载均衡:在四层的基础上,加入应用层特征进行考虑,比如URL、浏览器类别等进行负载均衡
四层负载均衡的吞吐能力较强,但是七层的负载均衡安全性较强
二、haproxy实验配置
1、haproxy的基础配置
1、实验环境部署
三台主机:一台haprey,两台sr子机
haorey :ip---172.25.254.100,安装haproxy
sr1 :ip---172.25.254.10 , 安装nignx
sr2 :ip---172.25.254.20 , 安装nignx
2、haproxy主机配置
haproxy默认开启后端检测,即当一个子机挂掉后,将不会继续给该主机发送流量
2.1、进入配置文件
rpm -qc haproxy
[root@haprey sun]# vim /etc/haproxy/haproxy.cfg #进入配置文件
2.2、更改配置文件
2.3、启动服务使配置生效
开启服务:
[root@haprey sun]# systemctl start haproxy
[root@haprey sun]# systemctl start haproxy.service
2.4、查看配置是否生效
在本地主机上面curl172.25.254.100网段,看是否符合轮询规则
2.5、listen方式配置
3、haproxy参数
3.1、设置进程数
默认一个进程中执行一个线程
[root@haprey sun]# pstree -p | grep haproxy #查看进程
|-haproxy(31489)---haproxy(31491)---{haproxy}(31492)
[root@haprey sun]# systemctl restart haproxy.service #重启服务
[root@haprey sun]# pstree -p | grep haproxy #查看进程,建议cpu几核就开几个
|-haproxy(31810)-+-haproxy(31812)
| `-haproxy(31813)
3.2、查看线程数
[root@haprey sun]# cat /proc/31812/status | grep -i thread #查看进程数
Threads: 1
Speculation_Store_Bypass: thread vulnerable
注意:多线程与多进程不能同时开启