负载均衡

负载均衡,英文名称为Load Balance,其含义就是指将负载(工作任务)进行平衡、分摊到多个操作单元上进行运行,例如FTP服务器、Web服务器、企业核心应用服务器和其它主要任务服务器等,从而协同完成工作任务。

负载均衡算法

1、轮询法
轮询法,就是将用户的请求轮流分配给服务器,就像是挨个数数,轮流分配。这种算法比较简单,他具有绝对均衡的优点,但是也正是因为绝对均衡它必须付出很大的代价,例如它无法保证分配任务的合理性,无法根据服务器承受能力来分配任务。
2、随机法
随机法,是随机选择一台服务器来分配任务。它保证了请求的分散性达到了均衡的目的。同时它是没有状态的不需要维持上次的选择状态和均衡因子[5]。但是随着任务量的增大,它的效果趋向轮询后也会具有轮询算法的部分缺点。
3、最小连接法
最小连接法,将任务分配给此时具有最小连接数的节点,因此它是动态负载均衡算法。一个节点收到一个任务后连接数就会加1,当节点故障时就将节点权值设置为0,不再给节点分配任务。

负载均衡实现

硬件实现

F5

软件实现方式

LVS(四层)
nginx 或haproxy (七层)

LVS

LVS是Linux Virtual Server的简写,意即Linux虚拟服务器,是一个虚拟的服务器集群系统。本项目在1998年5月由章文嵩博士成立,是中国国内最早出现的自由软件项目之一,是根据iptables的实现来开发的,所以使用时候会和iptables相当类似
官网:http://www.linuxvirtualserver.org/
中文站点: http://zh.linuxvirtualserver.org/

LVS-NAT

NAT 方式可支持任何的操作系统,以及私有网络,并且只需一个 Internet IP 地址,但是整个系统的性能受到限制。因为执行 NAT 每次需要重写包,有一定的延迟;另外,大部分应用有 80%的数据是从服务器流向客户机,也就是用户的请求非常短,而服务器的回应非常大,对负载均衡器形成很大压力,成为了新的瓶颈。

实验

1、准备 3 台
2、iptables -F , 清除规则
3、/etc/selinux/config,关 SELinux
在这里插入图片描述

配置分发器(198.168.1.20)

  1. 打开路由分发功能
sysctl -w net.ipv4.ip_forward=1
  1. 安装ipvsadm
yum -y install ipvsadm
  1. 设置ipvsadm
ipvsadm -A -t 192.168.1.20:80 -s rr
ipvsadm -a -t 192.168.1.20:80 -r 192.168.2.21 -m
ipvsadm -a -t 192.168.1.20:80 -r 192.168.2.22 -m
ipvsadm -S

以下为命令使用指导:

ipvsadm -A -t 负载均衡服务器ip:port -s rr
 
ipvsadm -a -t 负载均衡服务器ip:port -r 目标机ip:port -m
 
ipvsadm -a -t 负载均衡服务器ip:port -r 目标机2ip:port -m
 
ipvsadm -S
  • -A 添加虚拟服务

  • -a 添加一个真是的主机到虚拟服务

  • -S 保存

  • -s 选择调度方法

  • rr 轮训调度

  • -m 网络地址转换NAT

配置应用服务器

  1. 安装httpd 服务器
yum install httpd
  1. 更改网卡
    网卡模式:VMnet4
    网关:192.168.2.20
    两台IP 分别:192.168.2.21,192.168.2.22

例如192.168.2.21 的网卡配置如下:

TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=1f523aa2-3585-4a96-8679-c36b6cc2dc3d
DEVICE=ens33
ONBOOT=yes
IPV6_PRIVACY=no
IPADDR=192.168.2.22
PREFIX=24
GATEWAY=192.168.2.20

  1. 想两个应用服务器添加测试页面
# 在21上执行
echo "192.168.2.21" > /var/www/html/index.html 
# 在22上执行
echo "192.168.2.22" > /var/www/html/index.html 

测试
在分发器上安装elinks 测试

yum install elinks

在这里插入图片描述

LVS-D
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值