网站首页 > 技术教程 正文
概述
如果对高并发有要求的话,web服务还是考虑用lvs+keepalived+nginx来实现高性能高可用负载均衡集群,下面介绍下搭建的过程,因为涉及概念比较多,所以这篇主要介绍下LVS和ipvsadm两方面,后面再写具体的搭建过程。
LVS简介
1、LVS介绍
为什么要使用负载均衡技术?
1、 系统高可用性
2、 系统可扩展性
3、 负载均衡能力
LVS+keepalived能很好的实现以上的要求,LVS提供负载均衡,keepalived提供健康检查,故障转移,提高系统的可用性!采用这样的架构以后很容易对现有系统进行扩展,只要在后端添加或者减少realserver,只要更改lvs的配置文件,并能实现无缝配置变更!
2、LVS+Keepalived介绍
2.1、 LVS
LVS是一个开源的软件,可以实现LINUX平台下的简单负载均衡。LVS是Linux Virtual Server的缩写,意思是Linux虚拟服务器。
属于4层负载均衡。
2.2、 keepalived
Keepalived 是运行在lvs 之上,它的主要功能是实现真实机的故障隔离及负载均衡器间的失败切换,提高系统的可用性
2.3、注意
在keepalived中有2中模式,分别是master-->backup模式和backup-->backup模式,这两种模式分别呢?
在master-->backup模式下,一旦主库当掉,虚拟IP会自动漂移到从库,当主库修复后,keepalived启动后,还会把虚拟IP抢回来,即使你设置的是nopreempt(不抢占)的方式抢占IP的动作也会发生。在backup-->backup模式下,当主库宕掉后虚拟IP会自动漂移到从库上,当原主恢复后重启keepalived服务,并不会抢占新主的虚拟IP,即使是优先级高于从库的优先级别,也不会抢占IP。为了减少IP漂移次数,生成中我们通常是把修复好的主库当作新的主库的备库。
keepalived还从在一个脑裂状况,当主从间网络出现问题,这时主库会持有虚拟IP不变,从库失去和主库的联系后,从库会抢夺IP(即便你采用backup-->backup非抢占模式),这样造成的后果是主从数据库都持有虚拟IP.于是造成IP冲突,业务也会受到影响,因此在网络不是很好的状况下,强烈不建议采用keepalived服务。
3、工作原理
LVS 是 Linux Virtual Server 的简写,意即 Linux 虚拟服务器,是一个开源的负载均衡流量调度器。LVS 集群采用 IP 负载均衡技术和基于内容请求分发技术,将用户请求按照一定策略分发到后端的 Server 上,从而将一组服务器构成一个高性能的、高可用的虚拟服务器。在特定的场景下,整个服务器集群的结构对客户是透明的,而且无需修改客户端和服务器端的程序。
如图所示,前端调度器虚拟出 VS(Virtual Server)监听和接收请求,真正提供服务的是后端的 Member(亦称为 RealServer 或者 RS),数个 Member 组成一个 Pool,VS 的请求分发到 Pool 上,并在 Pool 当中的 Member 之间按一定策略分发轮询。LVS 与 F5 Big-IP LTM 不同之处在于,LVS 没有 Node 的概念,也没有 Profile,并且只提供 4 层的负载均衡。
4、LVS转发模式
三种IP负载均衡技术(VS/NAT、VS/TUN和VS/DR):
VS/NAT:网络地址转化
VS/TUN:端
VS/DR:直接轮询模式
5、LVS调度算法
共八种调度算法(rr,wrr,lc,wlc,lblc,lblcr,dh,sh),主要是:
- 轮询(rr):按照请求顺序轮流分发到后端RS
- 加权轮询(wrr):权值高的获得的任务更多
- 最小连接数(lc):动态的将请求建立到连接数较少的RS上
- 加权最小连接数(wlc):调度器自动询问RS的真实负载情况,并动态的调整权
6、LVS术语
ipvsadm介绍
从2.4版本开始,linux内核默认支持LVS。要使用LVS的能力,只需安装一个LVS的管理工具:ipvsadm。
LVS的结构主要分为两部分:
- 工作在内核空间的IPVS模块。LVS的能力实际上都是由IVPS模块实现。
- 工作在用户空间的ipvsadm管理工具。其作用是向用户提供一个命令接口,用于将配置的虚拟服务、真实服务等传给IPVS模块。
1、添加虚拟服务器
语法:ipvsadm -A [-t|u|f] [vip_addr:port] [-s:指定算法] -A:添加 -t:TCP协议 -u:UDP协议 -f:防火墙标记 -D:删除虚拟服务器记录 -E:修改虚拟服务器记录 -C:清空所有记录 -L:查看
2、添加后端RealServer
语法:ipvsadm -a [-t|u|f] [vip_addr:port] [-r ip_addr] [-g|i|m] [-w 指定权重] -a:添加 -t:TCP协议 -u:UDP协议 -f:防火墙标记 -r:指定后端realserver的IP -g:DR模式 -i:TUN模式 -m:NAT模式 -w:指定权重 -d:删除realserver记录 -e:修改realserver记录 -l:查看
3、常用命令
3.1、安装ipvsadm
yum install -y ipvsadm
2、查看规则
ipvsadm -ln
3、保存规则
service ipvsadm save
关于LVS+keepalived+nginx实现高性能高可用负载均衡集群的概念部分就介绍到这了,大家可以做个简单了解,后面再写下具体的一些配置,感兴趣的朋友可以关注下!
猜你喜欢
- 2024-10-13 minio分布式集群的搭建(minio分布式存储现在已弃用)
- 2024-10-13 Spring Cloud Alibaba——docker-compose搭建nacos1.4.0集群
- 2024-10-13 nginx负载均衡http flink集群端口配置的完整的nginx.conf文件
- 2024-10-13 Nginx负载均衡(nginx负载均衡有哪几种方式)
- 2024-10-13 Nacos集群搭建(nacos集群搭建打开网页提示未找到请求怎么回事)
- 2024-10-13 K8S云管理平台集群配置说明(k8s部署consul集群)
- 2024-10-13 一线开发大牛教你如何使用Kubernetes部署分布式集群
- 2024-10-13 Nginx、Keepalived高可用集群解决方案,安装配置
- 2024-10-13 集群部署看过来,低代码@AWS智能集群的架构与搭建方案
- 2024-10-13 基于Linux自己初步搭建Kubernetes(k8s)集群基础,详细教程
你 发表评论:
欢迎- 最近发表
-
- 阿里P8大佬总结的Nacos入门笔记,从安装到进阶小白也能轻松学会
- Linux环境下,Jmeter压力测试的搭建及报错解决方法
- Java 在Word中合并单元格时删除重复值
- 解压缩软件哪个好用?4款大多数人常用的软件~
- Hadoop高可用集群搭建及API调用(hadoop3高可用)
- lombok注解@Data没有toString和getter、setter问题
- Apache Felix介绍(apache fineract)
- Spring Boot官方推荐的Docker镜像编译方式-分层jar包
- Gradle 使用手册(gradle详细教程)
- 字节二面:为什么SpringBoot的 jar可以直接运行?
- 标签列表
-
- 下划线是什么 (87)
- 精美网站 (58)
- qq登录界面 (90)
- nginx 命令 (82)
- nginx .http (73)
- nginx lua (70)
- nginx 重定向 (68)
- Nginx超时 (65)
- nginx 监控 (57)
- odbc (59)
- rar密码破解工具 (62)
- annotation (71)
- 红黑树 (57)
- 智力题 (62)
- php空间申请 (61)
- 按键精灵 注册码 (69)
- 软件测试报告 (59)
- ntcreatefile (64)
- 闪动文字 (56)
- guid (66)
- abap (63)
- mpeg 2 (65)
- column (63)
- dreamweaver教程 (57)
- excel行列转换 (56)
本文暂时没有评论,来添加一个吧(●'◡'●)