反向代理软件之HAproxy基础

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

为什么使用负载均衡

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

负载均衡类型

四层:
LVS:Linux Virtual Server
Nginx:1.9版之后
HAProxy:High Availability Proxy

七层:
HAProxy
Nginx

硬件:

F5 https://f5.com/zh
Netscaler https://www.citrix.com.cn/products/citrix-adc/
Array https://www.arraynetworks.com.cn/
深信服 http://www.sangfor.com.cn/
北京灵州 http://www.lingzhou.com.cn/cpzx/llfzjh/

应用场景

四层:Redis、Mysql、RabbitMQ、Memcache等
七层:Nginx、Tomcat、Apache、PHP、图片、动静分离、API等

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

企业版网站:https://www.haproxy.com/

社区版网站:http://www.haproxy.org/
github:https://github.com/haproxy

HAproxy支持功能:

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

不具备的功能:

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

HAProxy 支持基于lua实现功能扩展,lua是一种小巧的脚本语言,于1993年由巴西里约热内卢天主教大学(Pontifical Catholic University of Rio de Janeiro)里的一个研究小组开发,其设计目的是为了嵌入
应用程序中,从而为应用程序提供灵活的扩展和定制功能。

范例:CentOS 7 安装haproxy

[root@centos7 ~]# yum install haproxy -y

范例:CentOS 8 安装haproxy

[root@centos8 ~]# dnf -y install haproxy

第三方安装包
官方没有提供rpm相关的包,可以通过第三方仓库的rpm包

从第三方网站下载rpm包:https://pkgs.org/download/haproxy

范例:

[root@centos8 ~]# wget http://www.nosuchhost.net/~cheese/fedora/packages/epel-7/x86_64/cheeserelease-7-1.noarch.rpm
[root@centos8 ~]# rpm -ivh cheese-release-7-1.noarch.rpm
[root@centos8 ~]# yum install haproxy

范例:利用第三方 yum 仓库安装

[root@centos7 ~]# wget https://centos7.iuscommunity.org/ius-release.rpm
[root@centos7 ~]# rpm -Uvh ius-release*rpm
[root@centos7 ~]# yum -y install epel-release
[root@centos7 ~]# rpm -Uvh ius-release*rpm
[root@centos7 ~]# yum install haproxy

范例:下载rpm包离线安装

#下载安装lua库对应的版本
[root@centos7 ~]# wget
https://dl.iuscommunity.org/pub/ius/stable/CentOS/7/x86_64/lua53u-libs-5.3.4-1.ius.centos7.x86_64.rpm
#安装lua库
[root@centos7 ~]# yum -y install lua53u-libs-5.3.4-1.ius.centos7.x86_64.rpm
#下载haproxy
[root@centos7 ~]# wget
https://dl.iuscommunity.org/pub/ius/stable/CentOS/7/x86_64/haproxy18u-1.8.20-
1.el7.ius.x86_64.rpm
#安装haproxy
[root@centos7 ~]# yum -y install haproxy18u-1.8.20-1.el7.ius.x86_64.rpm

编译安装HAproxy

# 依赖包
[root@centos8 ~]# yum install gcc
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
HAProxy是一款高性能的反向代理服务器,它可以用于负载均衡和高可用性的部署。下面是HAProxy实现反向代理的步骤: 1. 安装和配置HAProxy:首先,你需要在服务器上安装HAProxy软件。安装完成后,你需要编辑HAProxy的配置文件,通常是`/etc/haproxy/haproxy.cfg`。在配置文件中,你可以定义后端服务器的列表、监听端口和其他相关设置。 2. 配置后端服务器:在HAProxy的配置文件中,你需要指定后端服务器的IP地址和端口号。你可以定义多个后端服务器,以实现负载均衡。可以使用`server`关键字来定义后端服务器,例如: ``` backend mybackend server server1 192.168.0.1:80 server server2 192.168.0.2:80 ``` 3. 配置监听端口:在HAProxy的配置文件中,你需要定义监听的端口号和协议。可以使用`frontend`关键字来定义监听端口,例如: ``` frontend myfrontend bind *:80 mode http default_backend mybackend ``` 上述配置将监听所有IP地址的80端口,并将请求转发到名为`mybackend`的后端服务器。 4. 配置其他选项:除了上述基本配置外,你还可以根据需要配置其他选项,如SSL证书、健康检查、请求转发规则等。 5. 启动和测试:完成配置后,你可以启动HAProxy服务,并使用浏览器或其他工具测试反向代理是否正常工作。你可以访问HAProxy监听的IP地址和端口号,然后HAProxy会将请求转发到后端服务器。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值