脑裂:指在一个高可用(HA)系统中,当联系着的两个节点断开联系时,本来为一个整体的系统,分裂为两个独立的几点,这时我们两个节点开始争抢资源,结果会导致系统混乱,数据损坏。
在某一次故障切换后,原来的master并没有真正的宕机,VIP还在master上,这个时候BACKUP则已经抢占master地位,并也在本地配置了VIP
2.如何去解决脑裂的问题预防
解决预防:
1.网络层面:加一条链路
2.本地通过脚本解决 写一个while循环 每轮ping网关 累计连续是备的次数,当连续失败的次数到达一定的次数则运行systemctl stop keepalived服务
3.第三方监控软件方式解决:监控服务 监控网络流量
提供高可用性、负载均衡以及基于TCP和HTTP应用的代理,是免费、快速并且可靠的一种解决方案。适用于并发大web站点,这些站点通常又需要会话保持或七层处理
可靠性和稳定性好,可以与硬件级的F5负载均衡设备相媲美
最高可以同时维护40000-50000个并发连接
支持多达8种负载均衡算法,同时也支持会话保持
支持虚拟机功能,从而实现web负载均衡更加灵活
支持连接拒绝、全透明代理等独特功能
拥有强大ACL支持、用于访问控制
支持keepalive功能,减少客户端与haproxy的多次三次握手导致的
支持TCP加速,零复制功能
支持响应池
支持RDP协议
日志分析器,可对日志进行分析
roundrobin,表示简单的轮询
static-rr,表示根据权重
leastconn,表示最少连接者先处理
source,表示根据请求源IP
uri,表示根据请求的URI,做cdn需使用
url_param,表示根据请求的URL参数’balance url_param’ requires an URL parameter name
hdr(name),表示根据HTTP请求头来锁定每一次HTTP请求
rdp-cookie(name),表示根据cookie(name)来锁定并哈希每一次TCP请求
cdn
CDN是内容分发网络(Content Delivery Network)的缩写。它是一种用于提供高效内容传递的网络架构。CDN通过在全球范围内部署分布式服务器节点,将内容缓存到离用户最近的服务器上,从而提供更快的内容传输,降低用户访问延迟。
传统的互联网架构中,当用户请求访问网站或应用程序时,通常会将请求发送到源服务器,然后源服务器将响应返回给用户。这种集中式的架构可能在网络拥塞、服务器负荷过重或网络距离远等情况下导致延迟和性能问题。
而CDN通过在全球各地分布服务器节点,这些节点位于不同的地理位置或网络运营商中,可以实现以下优势:
CDN被广泛应用于网站、应用程序、流媒体服务和大规模软件分发等场景,以提供更好的用户体验和高效的内容传输。
LVS基于Linux操作系统内核实现软负载均衡,而HAProxy和Nginx是基于第三方应用实现的软负载均衡
LVS是可实现4层的IP负载均衡技术,无法实现基于目录、URL的转发。而HAProxy和Nginx都可以实现4层和七层技术,HAProxy可提供TCP和HTTP有用的负载均衡综合
解决方案:
LVS因为工作在ISO模型的第四层,其状态监测功能单一,而HAProxy在状态检测方面功能更强大,可支持端口、URL、脚本等多种状态检测方式
HAProxy功能更加强大,但整体性能低于4层模式的LVS负载均衡
Nginx主要用于Web服务器或缓存服务器。Nginx的upstream模块虽然也支持群集功能,但是对群集节点健康检查功能不强,性能没有Haproxy好
nginx
支持正则
只支持基于端口的健康检查
不支持session直接保持、但能通过ip_hash来解决
对网络稳定性要求不高
反向代理能力强
LVS
只能基于四层端口转发
仅在四层做分发作用 抗负载能力强
应用范围广
haproxy
支持8中负载均衡策略
仅做负载均衡软件使用,在高并发情况下性能优于nginx
支持URL检测 支持session保持
F5 SLB
192.168.109.11
192.168.109.21
192.168.109.31
第一步改主机名
192.168.109.11
192.168.109.21
192.168.109.31
关闭防火墙
第二步:安装编译包
192.168.109.11
安装依赖环境
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jQh8uXrr-1688889012171)
解压haproxy包
编译
创建目录