HAproxy配置文件详解
C语言编写的开源软件,高可用性,负载均衡,基于TCP和HTTCP的应用程序代理,满足中小型 站访问量需求。
优点:
1、自带节点健康检查功能,通过链接页面的头文件信息进行检查(精细高级的检查方式,检查后端服务器是否可用)
2、支持基于源地址的链接调度 (包括:端口 URL 访问控制列表)
3、支持虚拟主机
4、可以对Mysql读 进行负载均衡,对后端Mysql节点进行检测和负载均衡
调度方式balance:此关键字用来定义负载均衡算法
轮询方式 | 轮询注解 |
---|---|
roundrobin | 基于权重进行轮叫调度的算法,在服务器的性能分布比较均匀时,这是一种最公平合理,常用的算法。此算法使用较为频繁。 |
static-rr | 基于权重进行轮叫调度的算法,不过此算法为静态方法,在运行时调整期服务器权重不会生效,需要重启haproxy服务生效 |
source | 基于请求源IP的算法。此算法先对请求的源IP进行hash运算,可以使同一个客户端IP的请求始终被转发到某台特定的后端服务器 |
leastconn | 数据库负载均衡mysql+haproxy的常用轮询方式,不适用于http。此算法会将新的连接请求转发具有最少连接数目的后端服务器。 |
uri / uri_param / hdr | 根据url路径进行转发匹配后端服务器。hdr根据http头部进行转发 |
健康检查方式:
http健康检查方式 | 注解 |
---|---|
GET | client请求服务器资源,服务器返回对应资源 |
HEAD | 只请求响应 文中的HTTP头部 |
POST | 将客户端的数据提交到服务器 |
PUT | 从客户端向服务器传送的数据代替指定的文档内容 |
DELETE | 删除,请求服务器删除 request-URI 标识资源 |
MOVE | 请求服务器将指定页面转移到另外 络 |
配置文件详解
路径:/etc/haproxy/haproxy.cfg
HAproxy配置文件主要由5部分组成,但有些部分并不是必须的
配置文件组成部分 | 实现功能 |
---|---|
global 全局配置段 | 进程,安全配置,性能调整,Debug参数 |
defaults 默认配置段 | 为frontend, listen, backend提供默认配置 |
frontend ACL配置段 | 此部分用于设置接收用户请求的前端虚拟节点,并根据ACL规则直接指定要使用的后端backend |
backend 真实集群配置段 | 此部分用于设置群集后端服务集群的配置,处理前端用户的请求,添加真实的服务器 |
listen 代理配置段 | 用来设置haproxy代理服务页面,监听整个后端集群状态 |
全局配置
默认的全局配置
frontend 虚拟前端部分
如果想要查看到 frontend的ACL控制列表写入方法:请点击如下链接
ACL写入规则
backend真实服务器集群部分
listen 代理页面监听部分
文章知识点与官方知识档案匹配,可进一步学习相关知识云原生入门技能树首页概览8582 人正在系统学习中
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!