Linux企业实战-----用haproxy实现负载均衡(1)

目录

Haproxy基础知识

1.haproxy简介

2.HAproxy配置文件详解

实验1:haproxy的安装与负载均衡实现

实验2:haproxy独立日志+监控用户设置

1.haproxy独立日志的实现

2.为网页监控设置用户登录

实验3:资源固定传输、权重算法+故障处理

1.资源固定传输算法

2.权重算法

3.故障处理

实验4:访问黑名单+黑名单用户访问重定向


Haproxy基础知识

1.haproxy简介

(1)HAProxy 是一款提供高可用性、负载均衡以及基于TCP(第四层)和HTTP(第七层)应用的代理软件;适用于负载大的web站点,这些站点通常又需要会话保持或七层处理。它的运行模式使得它可以很简单安全的整合进您当前的架构中, 同时可以保护你的web服务器不被暴露到网络上

(2)HAProxy 实现了一种事件驱动、单一进程模型,此模型支持非常大的并发连接数。多进程或多线程模型受内存限制 、系统调度器限制以及无处不在的锁限制,很少能处理数千并发连接;事件驱动模型因为在有更好的资源和时间管理的用户端(User-Space) 实现所有这些任务,所以没有这些问题。此模型的弊端是,在多核系统上,这些程序通常扩展性较差。

(3)HAProxy 支持连接拒绝 : 因为维护一个连接的打开的开销是很低的,有时我们很需要限制攻击蠕虫(attack bots),也就是说限制它们的连接打开从而限制它们的危害,这也是其他负载均衡没有的优点

(4)HAProxy 支持全透明代理(已具备硬件防火墙的典型特点): 可以用客户端IP地址或者任何其他地址来连接后端服务器.

 

2.HAproxy配置文件详解

配置文件主要分为5部分:

global:全局变量的参数,属于进程配置,通常与操作有关
defaults:配置默认参数,这些参数可以被用到frontend,backend,Listen组件
frontend:接收请求的前端虚拟节点,Frontend可以更加规则直接指定具体使用后端的backend:后端服务集群的配置,是真实服务器,一个Backend对应一个或者多个实体服务器
Listen :frontend和backend的组合体

 

实验1:haproxy的安装与负载均衡实现

server2:
     yum install haproxy -y   安装haproxy
     cd /etc/haproxy
     vim haproxy.cfg          编辑haproxy配置文件
     systemctl stop httpd     由于haproxy需要占用80端口,关闭apache防止冲突
     systemctl restart haproxy 
haproxy配置文件编辑:
haproxy监控的是server3、server4的80端口,此处只需打开他们的httpd

server3、server4:
     systenmctl start httpd
server1:
     curl 172.25.11.2               访问172.25.11.2发现负载均衡已实现
     firefox:172.25.11.2/status     实现监控

负载均衡:

网页监控:

关闭server3中的apache效果:

 

实验2:haproxy独立日志+监控用户设置

1.haproxy独立日志的实现

vim /etc/sysconfig/rsyslog     

/etc/sysconfig/rsyslog

vim haproxy.cfg 
vim /etc/rsyslog.conf 
systemctl restart rsyslog.service 
cd /var/log
cat messages 
cat messages 

rsyslog.conf

此时访问172.25.1.2不会再在messages下产生日志,所有关于haproxy的日志都会在haproxy.log下产生

 

2.为网页监控设置用户登录

vim /etc/haproxy/haproxy.conf

systemctl restart haproxy.service 

访问172.25.1.2:

此时需要输入用户名与密码才可访问监控页面

 

实验3:资源固定传输、权重算法+故障处理

1.资源固定传输算法

vim /etc/haproxy/haproxy.conf

systemctl restart haproxy.service 

此时访问172.25.1.2只会分配给一个设备

 

2.权重算法

vim /etc/haproxy/haproxy.conf

systemctl restart haproxy.service 

此时访问172.25.1.2,设备会按权重分配

 

3.故障处理

当server3、server4都gg时,我们需要一个背锅侠去告诉客户出现故障了,这里我们就用server2来当背锅侠,具体设置如下:

vim /etc/haproxy/haproxy.conf

systemctl restart haproxy.service 

配置完成后需要修改各个服务器的httpd端口为相应数值

修改完成后,在色弱ver、server4正常工作时,server2并不会被访问到

server2:

vim index.html:
#写入以下内容
sorry,please try again later


server3、server4:
      systemctl stop httpd

此时,server2成功背锅

 

实验4:访问黑名单+黑名单用户访问重定向

server2:

vim /etc/haproxy/haproxy.conf

systemctl restart haproxy.service 

此时在除10外的主机访问172.25.1.2时都可以正常实现负载均衡

而在10用浏览器访问时,会自动跳转至报错页面:

会自动被定向至报错页面

 

也可直接将黑名单用户指定至指定页面:

而在10用浏览器访问时,会自动跳转至baidu:

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值