通过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、测试

相关推荐
谁似人间西林客13 小时前
工厂大脑如何让汽车制造告别“救火式”运维?
运维·汽车·制造
飞飞传输13 小时前
数字化科研提速关键 构建安全可控一体化跨网数据传输体系
大数据·运维·安全
wanhengidc13 小时前
服务器中带宽的重要性
运维·服务器·网络·安全·web安全
云游牧者14 小时前
K8S故障排查三板斧-CSDN博客
运维·docker·云原生·kubernetes·k8s·容器化·故障排查
程序员老邢15 小时前
【技术底稿 32】Nginx 经典大坑复盘:本机公网域名自环代理,导致接口返回首页 / 404 实战排障
java·运维·nginx·前后端分离·技术底稿·后端部署
忧云15 小时前
开源 SSH 客户端 Netcatty:免费替代 Termius,带 AI 的现代化运维工具
运维·开源·ssh
想唱rap16 小时前
传输层协议TCP
linux·运维·服务器·网络·c++·tcp/ip
曦夜日长16 小时前
Linux系统篇,权限(二):缺省权限、最终权限的计算、文件隔离的两种方式
linux·运维·服务器
kebidaixu16 小时前
OK3568开发板更新Ubuntu22.04方法总结
linux·运维·服务器
是桃萌萌鸭~17 小时前
oracle的隐藏虚拟列详解
运维·数据库·oracle