常见负载均衡软件有哪些?
发表于:2024-11-26 作者:千家信息网编辑
千家信息网最后更新 2024年11月26日,负载均衡(LB)软件常见负载均衡软件有:LVS、Nginx、HaproxyLVS:1). 基于4层网络协议,几乎无流量产生,这个特点也决定这几个负载均衡软件里负载能力最强,内存、CPU占用资源也低。2
千家信息网最后更新 2024年11月26日常见负载均衡软件有哪些?
- 负载均衡(LB)软件
常见负载均衡软件有:LVS、Nginx、Haproxy
LVS:
1). 基于4层网络协议,几乎无流量产生,这个特点也决定这几个负载均衡软件里负载能力最强,内存、CPU占用资源也低。
2). 应用范围广,不仅对Web服务做负载均衡,而且可结合其他应用做负载,如LVS+MySQL负载均衡。
3). 配置简单, 可配置东西较少。
4). 无流量,LVS只分发请求,而流量并不从它本身出去,这点保证了均衡器IO的性能不会收到大流量的影响。
5). 有个虚IP概念。
Nginx:
1). 基于7层网络协议,对Http应用做分流策略,如配置域名。
2). 高负载、稳定。支持上万高并发。负载能力小于LVS。
3). 安装配置简单,支持的正则比Haproxy丰富。且对网络稳定性的依赖非常小。
4). 可通过端口检测到服务器内部的故障,如根据服务器处理网页返回的状态码、超时等,把返回错误的请求重新提交到另一个节点。
5). 作Web服务器。
6). 反向代理\负载均衡。
Haproxy:
1). 支持虚拟主机,可工作在4层、7层。
2). 负载均衡效率上来讲Haproxy比Nginx更出色,在并发处理上也是优于Nginx。
3). 能够补充Nginx的一些缺点,如支持Session的保持,Cookie的引导。同时支持通过获取指定的url来检测后端服务器的状态。
4). 支持负载均衡策略较多。如roundrobin简单轮询、leastconn最少服务器连接数、static-rr权重轮询、uri哈希、sourceIP哈希、url_param请求的URL参数等。 - LVS+Keepalived
LVS 是一个开源的软件,可实现 Linux平台下的负载均衡。LVS 是 Linux Virtual Server 的缩写,意思是 Linux 虚拟服务器。 Linux 内核2.4版本后,LVS 已经是 Linux 内核标准的一部分。
LVS主要工作是提供调度算法,把客户端请求按照需求调度在Real Server上,Keepalived 主要工作是提供 LVS 控制器的一个冗余,并且对Real Server做健康检查,发现Real Server故障,就把它从 LVS 集群中剔除,Real Server只负责提供服务。如LVS+Keepalived+Nginx模式,Nginx作为Real Server。
LVS转发模式
VS/NAT(Virtual Server via Network Address Translation):通过网络地址转换,调度器重写请求报文的目标地址,请求到后端Real Server,后端Real Server的响应报文通过调度器时,报文的源地址被重写,再返回给客户,完成整个负载调度过程。客户请求哪里来从哪儿返回。
VS/TUN(Virtual Server via IP Tunneling):在使用上面的NAT 技术时,由于请求和响应报文都必须经过调度器地址重写,当客户请求越来越多时,调度器的处理能力将成为瓶颈。为了解决这个问题,调度器把请求报文通过 IP 隧道转发至Real Server,而Real Server将响应直接返回给客户,所以调度器只处理请求报文。由于一般网络服务应答比请求报文大许多,采用 VS/TUN 技术后,集群系统的最大吞吐量可提高 10 倍。
VS/DR (Virtual Server via Direct Routing):VS/DR 通过改写请求报文的 MAC 地址,将请求发送到Real Server,而后端的Real Server将响应直接返回给客户。同 VS/TUN 技术一样,VS/DR 技术可极大地提高集群系统的伸缩性。后面就按此VS/DR模式作为操作例子。 - LVS(VS/DR)+Keepalived高可用集群实例
OS环境:CentOS7
1). 在20、21上安装ipvsadm和keepalived软件yum -y install ipvsadmyum -y install keepalived
启动keepalived服务
systemctl start keepalived.service
使用配置LVS的时候,不能直接配置内核中的ipvs,需使用ipvs的管理工具ipvsadm进行管理。用于查看lvs转发及代理情况的工具。
2).修改keepalived配置文件
20的Master配置文件如下:
vim /etc/keepalived/keepalived.conf! Configuration File for keepalivedglobal_defs {notification_email { admin@localhost}notification_email_from root@localhostrouter_id LVS_01 #表示运行keepalived服务器的一个标识,发邮件时显示在邮件主题的信息vrrp_skip_check_adv_addrvrrp_garp_interval 0vrrp_gna_interval 0}vrrp_instance VI_1 {state MASTER #指定keepalived的角色Masterinterface ens192 #网卡,ip a查看virtual_router_id 100 #虚拟路由标识,主备两个节点的设置必须一样,以指明各个节点属于同一VRRP组 priority 100 #定义优先级,Master的priority要高于slaveadvert_int 1 #设定MASTER与BACKUP负载均衡器之间同步检查的时间间隔,单位秒authentication { #设置验证类型和密码 auth_type PASS auth_pass 1111}virtual_ipaddress { 10.20.1.99/24 dev ens192 #设置VIP}}virtual_server 10.20.1.99 443 { #设置虚拟服务器,需指定虚拟IP地址和服务端口delay_loop 3 #健康时间检查,单位秒lb_algo rr #负载均衡调度算法wlc|rrlb_kind DR #设置LVS实现负载均衡机制,有NAT、TUN、DR三个模式persistence_timeout 50 #会话保持时间,单位秒。此选项对动态网页是非常有用protocol TCP #指定转发协议类型,有TCP和UDPreal_server 10.20.1.22 443 { #Real Server服务器,这里为Nginx服务器 weight 1 #设置权重 TCP_CHECK { #设置检查方式,可以设置HTTP_GET | SSL_GET connect_port 443 #检测Real Server的侦听端口 connect_timeout 5 #超时时间,单位秒。如果在这个时间内无返回,则说明一次监测失败 retry 3 #设置多少次监测失败,就判断这个Real Server死掉 delay_before_retry 3 #重试间隔 }}real_server 10.20.1.23 443 { weight 1 TCP_CHECK { connect_port 443 connect_timeout 5 retry 3 delay_before_retry 3 }}}
21的slave的/etc/keepalived/keepalived.conf配置,需更改state Backup和修改priority的值小于master的priority。
Master服务器上查看IP,VIP在Master上。
ipvsadm命令查看规则。
3). Real Server配置
因为VS/DR模式,在后端Real Server即Nginx服务器上配置脚本。配置两台Nginx服务器上为回环地址lo:0绑定VIP地址、ARP广播。
vim /opt/scripts/lvs_rs.sh#!/bin/bashvip=10.20.1.99ifconfig lo:0 $vip broadcast $vip netmask 255.255.255.255 uproute add -host $vip dev lo:0echo "1" >/proc/sys/net/ipv4/conf/lo/arp_ignoreecho "2" >/proc/sys/net/ipv4/conf/lo/arp_announceecho "1" >/proc/sys/net/ipv4/conf/all/arp_ignoreecho "2" >/proc/sys/net/ipv4/conf/all/arp_announcesysctl -p &>/dev/null
在22、23服务器上分别执行。
4). 测试LVS+Keepalived高可用群集
客户端的浏览器中,能够通过LVS+Keepalived群集的VIP地址漂移(10.20.1.99)正常访问web,验证群集构建成功。
先在20Master上将keepalived.service服务器关闭,查看IP情况:
发现VIP没了。
然后在21Slave上查看VIP是否漂移过来了:
发现VIP已经来到Slave上了。
这时,将20Master上将keepalived.service服务又重新启动,VIP后回来了。
服务
服务器
均衡
配置
调度
地址
报文
客户
支持
软件
时间
模式
网络
单位
技术
集群
处理
检查
内核
流量
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
碑林软件开发报价
吃鸡各个服务器
数据库表的源目标字段和显示字段
网络安全防护
4g模块和服务器如何双向通讯
软件开发所涉及到的文档
丰台区网络技术信息成本价
软件开发行业怎样缴税
网络安全信息化专家
数据库多维度查询
网络安全 网络文明手抄报
软件开发教学软件有那些
学vba要学数据库吗
数据库 substr
软件开发人士简历
开展网络安全宣传周活动简讯
网络安全法 电子信息发送
我们身边有哪些网络安全隐患
我的世界幸运石服务器插件
自主软件开发资本化
学习软件开发培训
电脑服务器和工作站通俗讲
电商网络安全面临的问题
sql数据库触发器怎么写
银川创利大业网络技术
超市百万商品数据库下载
郑州小额贷款软件开发
蒸汽内容服务器
自己做软件开发不感兴趣
2021网络安全宣传短片厦门