负载均衡:Load Balance,简称LB,是一种服务或基于硬件设备等实现的高可用反向代理技术,负载均 衡将特定的业务(web服务、网络流量等)分担给指定的一个或多个后端特定的服务器或设备,从而提高了 公司业务的并发处理能力、保证了业务的高可用性、方便了业务后期的水平动态扩展
为什么使用负载均衡
- Web服务器的动态水平扩展-->对用户无感知
- 增加业务并发访问及处理能力-->解决单服务器瓶颈问题
- 节约公网IP地址-->降低IT支出成本
- 隐藏内部服务器IP-->提高内部服务器安全性
- 配置简单-->固定格式的配置文件
- 功能丰富-->支持四层和七层,支持动态下线主机
- 性能较强-->并发数万甚至数十万
负载均衡类型
四层:
七层:
应用场景
HAProxy是法国开发者 威利塔罗(Willy Tarreau) 在2000年使用C语言开发的一个开源软件,是一款具 备高并发(一万以上)、高性能的TCP和HTTP负载均衡器,支持基于cookie的持久性,自动故障切换,支 持正则表达式及web状态统计。
支持功能:
不具备的功能:
HAProxy 支持基于lua实现功能扩展,编译安装前,先安装lua环境
编译安装HAproxy
编译安装文件
查看生成的文件
准备haproxy 启动文件
配置文件
启动haproxy
验证haproxy状态
基础配置详解
HAproxy 的配置文件haproxy.cfg 由两大部分组成,分别是gobal和proxies部分
- global:全局配置段
- proxies:代理配置段
global配置参数说明
HAProxy日志配置
HAproxy本身不记录客户端的访问日志.此外为减少服务器负载,一般生产中HAProxy不记录日志. 也可以配置HAProxy利用rsyslog服务记录日志到指定日志文件中
HAProxy配置
Rsyslog配置
Proxies配置
Proxies配置-defaults
defaults 配置参数:
Proxies配置-listen 简化配置
使用listen替换 frontend和backend的配置方式,可以简化设置,通常只用于TCP协议的应用
Proxies配置-frontend
frontend 配置参数:
Proxies配置-backend
定义一组后端服务器,backend服务器将被frontend进行调用。
注意: backend 的名称必须唯一,并且必须在listen或frontend中事先定义才可以使用,否则服务无法启动
注意:option后面加 httpchk,smtpchk,mysql-check,pgsql-check,ssl-hello-chk方法,可用于实现更 多应用层检测功能。
server 配置
frontend+backend 配置实例
使用子配置文件保存配置
当业务众多时,将所有配置都放在一个配置文件中,会造成维护困难。可以考虑按业务分类,将配置信 息拆分,放在不同的子配置文件中,从而达到方便维护的目的。
注意: 子配置文件的文件后缀必须为.cfg
本文地址:http://sicmodule.glev.cn/quote/9033.html 歌乐夫 http://sicmodule.glev.cn/ , 查看更多