HAProxy学习整理笔记
Posted 黑夜天星
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HAProxy学习整理笔记相关的知识,希望对你有一定的参考价值。
1.HAProxy基础
HAProxy基础概念和原理
四层代理: 通过分析IP层及TCP/UDP层的流量实现的基于“IP+端口”的负载均衡。
七层: 可以根据内容,再配合负载均衡算法来选择后端服务器,不但可以根据 “ip+端口”方式进行负载分流,还可以根据网站的URL,访问域名,浏览 器类别,语言等决定负载均衡的策略。
七层负载均衡模式下,负载均衡与客户端及后端的服务器会分别建立一次 TCP连接,而在四层负载均衡模式下(DR),仅建立一次TCP连接;七层负载均衡对负载均衡设备的要求更高,处理能力也低于四层负载均衡。
haproxy与lvs的负载均衡很大一点不同的是,lvs仅仅是基于内核的简单调度,而haproxy则是当请求到达反向代理端时,代理端帮前端去请求相应内容
Haproxy的特性:
- 1、可靠性与稳定性都非常出色,可与硬件级设备媲美。
- 2、支持连接拒绝,可以用于防止DDoS攻击
- 3、支持长连接、短连接和日志功能,可根据需要灵活配置
- 4、路由HTTP请求到后端服务器,基于cookie作会话绑定;同时支持通过获取指定 的url来检测后端服务器的状态
- 5、HAProxy还拥有功能强大的ACL支持,可灵活配置路由功能,实现动静分离,在架构设计与实现上带来很大方便
- 6、可支持四层和七层负载均衡,几乎能为所有服务常见的提供负载均衡功能
- 7、拥有功能强大的后端服务器的状态监控web页面,可以实时了解设备的运行状态 ,还可实现设备上下线等简单操作。
- 8、支持多种负载均衡调度算法,并且也支持session保持。
HAProxy的软件架构和配置文件
Haproxy程序路径:
- 主程序:/usr/sbin/haproxy
- 主配置文件:/etc/haproxy/haproxy.cfg
- Unit file:/usr/lib/systemd/system/haproxy.service(centos7)
- Init.file :/etc/init.d/haproxy (centos6)
Haproxy配置文件结构:
Haproxy的主配置文件路径一般在/etc/haproxy/haproxy.cfg下(yum安装)
haproxy 的配置文件由两部分组成:全局设定(global settings)和对代理的设定(proxies)
global settings:主要用于定义haproxy进程管理安全及性能相关的参数
proxies共分为4段:defaults,frontend,backend,listen
proxies:代理相关的配置可以有如下几个配置端组成
- – defaults:为其它配置段提供默认参数,默认配置参数可由下一个“defaults”重新设定。
- – frontend:定义一系列监听的套接字,这些套接字可接受客户端请求并与之建立连接。
- – backend:定义“后端”服务器,前端代理服务器将会把客户端的请求调度至这些服务器。
- – listen:定义监听的套接字和后端的服务器。类似于将frontend和backend段放在一起
global #全局配置 (进程管理及安全相关的参数)
- chroot:修改haproxy的工作目录至指定的目录并在放弃权限之前执行 chroot()操作,可以提升haproxy的安全级别,
- daemon:让haproxy以守护进程的方式工作于后台,其等同于“-D”选项的功能, 当然,也可以在命令行中以“-db”选项将其禁用;
- gid:以指定的GID运行haproxy,建议使用专用于运行haproxy的GID, 以免因权限问题带来风险;
- group:同gid,不过指定的组名;
- log: [max level [min level]]:定义全局的syslog服务器,最多可以定义两个;
以上是关于HAProxy学习整理笔记的主要内容,如果未能解决你的问题,请参考以下文章