haproxy 负载均衡 结合 pacemaker 高可用

haproxy 负载均衡 + pacemaker 高可用

1)、HAProxy:是一个使用C语言编写的自由及开放源代码的软件,其提供高可用性、负载均衡,以及基于TCP和HTTP的应用程序代理。HAProxy是基于四层和七层技术、可提供TCP和HTTP应用的负载均衡综合解决方案。在状态监测方面功能强大,可支持端口、URL、脚本等多种状态检测方式

2)、七层负载均衡器:也称为七层交换机,位于OSI的最高层,即应用层,此时负载均衡器支持多种应用协议,常见的有HTTP、FTP、SMTP等。七层负载均衡器可以根据报文内容,再配合负载均衡算法来选择后端服务器,因此也称为“内容交换器”。

3)、HAProxy支持的负载均衡算法
(1)、roundrobin,表示简单的轮询,负载均衡基础算法
(2)、static-rr,表示根据权重
(3)、leastconn,表示最少连接者先处理
(4)、source,表示根据请求源IP
(5)、uri,表示根据请求的URI;
(6)、url_param,表示根据请求的URl参数来进行调度
(7)、hdr(name),表示根据HTTP请求头来锁定每一次HTTP请求;
(8)、rdp-cookie(name),表示根据据cookie(name)来锁定并哈希每一次TCP请求。

4)、haproxy实现负载均衡的方法:haproxy通过ACL规则是实现智能负载均衡

5)、HAProxy的Web监控平台

访问方式:IP/status

实例:haproxy 负载均衡实现

关闭之前的keepalived

iptables -F  刷新防火墙策略。(清空)

更改日志存储位置:

更改调度算法:source 表示根据请求源IP

默认调度算法:roundrobin,表示简单的轮询,负载均衡基础算法

HAProxy的Web监控平台,设置登录用户和密码

ACL 规则 :

use_backend后面需要跟上一个backend实例名,表示在满足ACL规则后去请求哪个backend实例,

与use_backend对应的还有default_backend参数,它表示在没有满足ACL条件的时候默认使用哪个后端backend。

haproxy实现读写分离:

新建ACL规则,当客户端进行读操作时,访问读的后端服务器。当客户端上传数据时,访问写的后端服务器

负载均衡器做备机:haproxy 默认监听80端口,安装Apache后,避免端口冲突,将Apache端口改为8080.

访问控制:

拒绝 blacklist中的成员访问:

只允许blacklist中的成员访问,拒绝其他所有:

限制 blacklist成员访问某些目录或文件:

根据http状态码重定向:

根据访问用户的IP重新定向:

根据访问内容设置权限:

Pacemaker 高可用 + haproxy 负载均衡

pacemaker官方网站:http://clusterlabs.org/

1)、Pacemaker:是一个集群资源管理者。他用资源级别的监测和恢复来保证集群服务(aka.资源)的最大可用性。

2)、

pacemake 控制haproxy:

pacemaker不做硬件检测:

当服务器硬件出现问题,服务切换到其它服务器,出问题服务器回复后依然在运行服务,相当于两台服务器对,同一存储区进行存储,会造成数据损失。

解决方法:

cluster 目录需要手动建立 (/etc/cluster)

真机的  /etc/cluster 下的 fence_xvm.key 复制到 server1 和  server4 的 /etc/cluster (手动建立的目录)

测试当其中一台服务器出问题,能否断电,重启,是否依旧启用服务。

猜你喜欢

转载自blog.csdn.net/qq_47714288/article/details/112445540