keepalive+nginx/haproxy实现转发

keepalive:

调度器的高可用

vip地址在主备之间的切换,主在工作时,vip地址只在主上,主停止工作,VIP漂移到备服务器

在主备的优先级不变的情况下,主恢复工作,vip会飘回到服务器。

1.配优先级

2.配置vip和真实服务器

3.主备的id要一致

4.主备的id要区分

keep是专门为lvs打造的,但是不是为lvs专门服务的。

keepalive也可以使用nginx,haproxy

keepalive+nginx实现高可用

bash 复制代码
cd /opt
vim /etc/check_nginx.sh
#!/bin/bash
/usr/bin/curl -I http://localhost &>/dev/null
if [ $? -ne 0 ]
then
	systemctl stop keepalived
fi
bash 复制代码
chmod  777 check_nginx.sh
cd /etc/keepalived/
cp keepalived.conf keepalived.conf.bak
vim keepalived.conf
script "/opt/check_nginx.sh"
#调用脚本内容,检测nginx的状态
interval 5
#检测的间隔时间是5s
bash 复制代码
scp root@192.168.233.40:/etc/keepalived/keepalived.conf /etc/keepalived
#将ip地址为40中的文件远程复制到本机的目录中
vim /opt/keepalived/keepalived.conf

脑裂是什么?

HA 高可用架构中的一个特殊现象,只要使用vip地址代理的冗余模式的高可用。都有可能出现脑裂的问题。

主和备同时都有VIP地址。

主和备无法确定各自的身份,同时出现了vip地址,两边都起来了,但是两边都无法使用。

原因:

1.keepalive的配置文件

2.心跳线(网线)断了,老化

3.网卡问题(硬件问题),IP地址配置冲突

4.防火墙策略,iptables的策略屏蔽了组播地址的广播,屏蔽了vrrp协议的报文

5.两台服务器的时间不同步也可能导致

6.其他的服务配置对心跳线的检测造成干扰

怎么解决?

Haproxy负载均衡:

nginx 四层转发,七层代理(用户态)

lvs 四层转发 内核态

Haproxy 四层转发,七层转发

Haproxy的作用和使用场景:

一、场景

用于高并发的web场景,可以支持一万个以上的并发请求,高性能的tcp和http的反正均衡器。

工作原理:

提供一个代理地址,访问集群

二、作用

1.进行四层和七层转发

2.支持https

3.Haproxy本身不自带缓存功能。在请求当中添加cookie,使用缓存

4.支持主备切换(keepalive)

三、特点

可靠性高,稳定性好

可以同时维护40000-50000个并发,单位时间内可以处理的最大请求数20000个(3秒钟)

支持负载均衡算法,虽然不带缓存,但是可以支持会话保持

rr

wrr

leastconn

使用haproxy实现七层转发

bash 复制代码
cd /opt/
rz -E
tar -xf haproxy-1.5.19.tar.gz
cd haproxy-1.5.19/
uname -r  #查看内核版本号
make TARGET=linux2628 ARCH=x86_64
#target使用的版本要大于linux2.60以上的版本
make install
mkdir /etc/haproxy
cd examples/
ls
cp haproxy.cfg /etc/haproxy/
cd /etc/haproxy/
ls
bash 复制代码
vim haproxy.cfg
bash 复制代码
cd /opt/haproxy-1.5.19/examples/
ls
cp haproxy.init /etc/init.d/haproxy
chmod 777 /etc/init.d/haproxy
chkconfig --add /etc/init.d/haproxy
ln -s /usr/local/sbin/haproxy /usr/sbin/

使用haproxy实现四层转发

bash 复制代码
vim /etc/haproxy/haproxy.cfg
相关推荐
小Tomkk12 分钟前
数据库 变更和版本控制管理工具 --Bytebase 安装部署(linux 安装篇)
linux·运维·数据库·ci/cd·bytebase
赌博羊12 分钟前
ImportError: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.32‘ not found
linux·运维·gnu
消失的旧时光-194340 分钟前
Linux 入门核心命令清单(工程版)
linux·运维·服务器
艾莉丝努力练剑1 小时前
【Linux:文件】Ext系列文件系统(初阶)
大数据·linux·运维·服务器·c++·人工智能·算法
小天源1 小时前
Cacti在Debian/Ubuntu中安装及其使用
运维·ubuntu·debian·cacti
Trouvaille ~1 小时前
【Linux】TCP Socket编程实战(一):API详解与单连接Echo Server
linux·运维·服务器·网络·c++·tcp/ip·socket
芷栀夏1 小时前
深度解析 CANN 异构计算架构:基于 ACL API 的算子调用实战
运维·人工智能·开源·cann
全栈工程师修炼指南1 小时前
Nginx | stream 四层反向代理:SSL、PREREAD 阶段模块指令浅析与实践
运维·网络·网络协议·nginx·ssl
威迪斯特2 小时前
CentOS图形化操作界面:理论解析与实践指南
linux·运维·centos·组件·图形化·桌面·xserver
一方热衷.3 小时前
在线安装对应版本NVIDIA驱动
linux·运维·服务器