HAproxy介绍

HAproxy 反向代理

负载均衡简介

负载均衡:Load Balance,简称LB,是一种服务或基于硬件设备等实现的高可用反向代理技术,负载均衡将特定的服务分担给指定的一个或多个后端特定的服务器,从而提高了公司业务的并发处理能力、保证了业务的高可用性、方便了业务后期的水平动态扩展

为什么使用负载均衡:
Web服务器的动态水平扩展:对用户无感知
增加业务并发访问及处理能力:解决单服务器瓶颈问题
节约公网IP地址:降低IT支出成本
隐藏内部服务器IP:提高内部服务器安全性
配置简单:固定格式的配置文件
功能丰富:支持四层和七层,支持动态下线主机
性能较强:并发数万甚至数十万

负载均衡类型

#四层:  
    LVS
    HAproxy
    Nginx
    应用场景:Redis、Mysql、Memcache等
    
#七层:
    HAproxy
    Nginx
    应用场景:Nginx、Tomcat、Apache、PHP、图片、动静分离、API等
    
    通过LVS实现四层和Nginx实现七层的负载均衡对机器资源消耗比较大,并且管理复杂度提升,运维总监要求,目前需要对前端负载均衡服务进行一定的优化和复用,能否用一种服务同既能实现七层负载均衡,又能实现四层负载均衡,并且性能高效,配置管理容易,而且还是开源
    前端负载均衡设备为重中之重,在软件选择上,能满足业务的前提,尽可能降低复杂度,提高易维护性

HAproxy 介绍

HAProxy是法国开发者 威利塔罗(Willy Tarreau) 在2000年使用C语言开发的一个开源软件,是一款具备高并发(一万以上)、高性能的TCP和HTTP负载均衡器,支持基于cookie的持久性,自动故障切换,支持正则表达式及web状态统计,目前最新TLS版本为2.0

支持的功能:
TCP和HTTP反向代理
SSL/TSL服务器
支持动态程序的反向代理
支持基于数据库的反向代理
可以针对HTTP请求添加cookie,进行路由后端服务器
可平衡负载至后端服务器,并支持持久连接
支持所有主服务器故障切换至备用服务器
支持专用端口实现监控服务
支持停止接受新连接请求,而不影响现有连接
响应报文压缩
支持基于pattern实现连接请求的访问控制
通过特定的URI为授权用户提供详细的状态信息

不支持的功能:
正向代理–squid,nginx
缓存代理–varnish
web服务–nginx、tengine、apache、php、tomcat
UDP–目前不支持UDP协议
单机性能–相比LVS性能较差

HAproxy 安装

Ubuntu安装 https://haproxy.debian.net/

apt install haproxy -y
haproxy -v

#最新版安装
apt-get install software-properties-common
add-apt-repository ppa:vbernat/haproxy-2.0
apt-get update
apt-get install haproxy=2.0.\*
haproxy -v
  HA-Proxy version 2.0.13-2ppa1~bionic 2020/04/02 - https://haproxy.org/

Centos 安装 https://pkgs.org/download/haproxy

#互联网安装新版本
wget https://centos7.iuscommunity.org/ius-release.rpm
rpm -ivh https://mirrors.aliyun.com/centos/7/extras/x86_64/Packages/epel-release-7-11.noarch.rpm
rpm -Uvh ius-release*rpm
yum install haproxy18u -y
haproxy -v
  HA-Proxy version 1.8.25 2020/04/02

HAproxy编译安装

lua安装 http://www.lua.org/start.html

wget http://www.lua.org/ftp/lua-5.3.5.tar.gz
ll
-rw-r--r--  1 root root 2684568 Apr  7 22:29 haproxy-2.1.4.tar.gz
-rw-r--r--  1 root root  303543 Jun 27  2018 lua-5.3.5.tar.gz

#lua编译
yum install gcc readline-devel -y
tar xf lua-5.3.5.tar.gz -C /opt/
cd /opt/lua-5.3.5/
make linux test
 src/lua -v
Lua 5.3.5  Copyright (C) 1994-2018 Lua.org, PUC-Rio

#Haproxy编译
#HAProxy 1.8及1.9版本编译参数:
make  ARCH=x86_64 TARGET=linux2628 USE_PCRE=1 USE_OPENSSL=1 USE_ZLIB=1 USE_SYSTEMD=1  USE_CPU_AFFINITY=1  PREFIX=/opt/haproxy
yum  install gcc openssl-devel pcre-devel systemd-devel -y
tar  xf haproxy-2.1.4.tar.gz  -C /opt/
cd /opt/haproxy-2.1.4/
#参考INSTALL文件进行编译安装
make ARCH=x86_64 TARGET=linux-glibc USE_PCRE=1 USE_OPENSSL=1 USE_ZLIB=1 USE_SYSTEMD=1 USE_LUA=1 LUA_INC=/opt/lua-5.3.5/src/ LUA_LIB=/opt/lua-5.3.5/src/
make install PREFIX=/opt/haproxy
ln -s /opt/haproxy/sbin/haproxy /usr/sbin/
haproxy -v
HA-Proxy version 2.1.4 2020/04/02 - https://haproxy.org/
haproxy -vv  #更加详细,包括编译参数
useradd -r -s /sbin/nologin haproxy -d /var/lib/haproxy
mkdir /etc/haproxy
mkdir /var/lib/haproxy
chown -R haproxy.haproxy /var/lib/haproxy/

#准备service文件和配置文件
vim /etc/haproxy/haproxy.cfg
....
vim /lib/systemd/system/haproxy.service
...
vim /etc/sysctl.conf
sysctl -p
net.ipv4.ip_nonlocal_bind = 1
net.ipv4.ip_forward = 1

systemctl daemon-reload 
systemctl start haproxy

http://10.0.0.8:9999/status
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值