通过Haproxy实现七层负载均衡

实验环境不多做概述,主要通过配置文件熟悉Haproxy的实际应用。

一、基本的负载均衡

1、前后端分开设定

将前后端分开在配置文件中书写,达到负载均衡调度的作用。

2、通过listen格式书写负载均衡

二、日志相关内容

日志指定发送位置假定为webserver1

bash 复制代码
#在192.168.0.10 开启接受日志的端口
[root@webserver1 ~]# vim /etc/rsyslog.conf
 32 module(load="imudp") # needs to be done just once
 33 input(type="imudp" port="514")
 
[root@webserver1 ~]# systemctl restart rsyslog.service

三、Haproxy的多进程与多线程

多线程与多进程无法同时实现

1、Haproxy的多进程

2、Haproxy的多线程

四、 socat热更新工具

热更新概念:在服务或软件不停止的情况下更新软件或服务的工作方式,完成对软件不停工更新,典型的热更新设备,usb,在使用usb进行插拔时,电脑系统时不需要停止工作的,这中设备叫热插拔设备,

2、利用socat更改haproxy信息

五、Haproxy的算法

1、静态算法

1)static-rr:静态轮询

按照次数分别调度

2)first算法

特点:忽略权重设置,完全按照列表调度当第一个服务器响应服务达到顶峰时,分配到另外一台服务器。

且不支持socat热更新,

2、动态算法

1)roundrobin

特点:支持权重运行时的动态调整,支持新增服务器的慢启动。

基于权重的轮询状态

动态权重跟新后状态

2)leastconn算法

特点:加权的最少链接动态算法,支持慢启动喝热更新。

3、混合算法

1)source算法

特点:源地址哈希

2)url算法

根据访问地址进行哈希运算。

3)url_param算法

特点:url_param对用户请求的url中的 params 部分中的一个参数key对应的value值作hash计算,并由服务器总权重相除以后派发至某挑出的服务器,后端搜索同一个数据会被调度到同一个服务器。

4)hdr算法

特点:根据http的头部信息进行哈希运算

六、基于cookie值的绘画保持

特点:同一个客户端的同一个浏览器访问的是同一台服务器。不同的浏览器访问的是不同的浏览器。

火狐浏览器

edge浏览器

七、Haproxy状态页

通过web界面,可视化显示当前HAProxy的运行状态

设备线状态动态观测

八、IP透传

1、七层IP透传

主机中是默认不开启ip透传功能

修改vim /etc/httpd/conf/httpd.conf

再次访问

2、四层ip透传

利用nginx体现四层ip透传。

修改nginx配置文件,启用四层访问控制。

haproxy设置模式为四层访问控制

在客户端访问后查看任何一个服务器访问日志

九、Haproxy acl访问控制进行动静分离

1、基础acl实例

十、Haproxy的全站加密

1、证书制作

2、全站加密

十一、自定义Haproxy的错误页面

1、设定sorry页面

1、设置sorry页面内容。

2、配置错误页面上线

3、测试

2、自定义错误页面

1、编写haproxy配置文件

2、将错误页面转到百度

十二、Haproxxy实现四层负载

1、分别在两台服务器上安装mariadb数据库。并设置id。

2、修改haproxy配置文件

3、测试

相关推荐
匀泪2 小时前
云原生(nginx实验(3))
运维·nginx·云原生
CCPC不拿奖不改名11 小时前
虚拟机基础:在VMware WorkStation上安装Linux为容器化部署打基础
linux·运维·服务器·人工智能·milvus·知识库搭建·容器化部署
fjh199711 小时前
记一次奇怪的ssh公钥登录失败的情况
运维·ssh
dinga1985102614 小时前
linux上redis升级
linux·运维·redis
匀泪14 小时前
云原生(nginx实验(2))
运维·nginx·云原生
RisunJan15 小时前
Linux命令-ltrace(用来跟踪进程调用库函数的情况)
linux·运维·服务器
c***032315 小时前
linux centos8 安装redis 卸载redis
linux·运维·redis
DeeplyMind15 小时前
第6章 Docker镜像基础操作
运维·docker·容器
柏木乃一15 小时前
Linux进程信号(2):信号产生part2
linux·运维·服务器·c++·信号处理·信号·异常