一、VS/DR模式

①.客户端将请求发往前端的负载均衡器,请求报文源地址是CIP,目标地址为VIP。

②.负载均衡器收到报文后,发现请求的是在规则里面存在的地址,那么它将目标MAC改为了RIP的MAC地址,并将此包发送给RS。

③.RS发现请求报文中的目的MAC是自己,就会将次报文接收下来,处理完请求报文后,将响应报文通过lo接口送给eth0网卡直接发送给客户端。

注意:

需要设置lo接口的VIP不能响应本地网络内的arp请求。

优点

和TUN(隧道模式)一样,负载均衡器也只是分发请求,应答包通过单独的路由方法返回给客户端。与VS-TUN相比,VS-DR这种实现方式不需要隧道结构,因此可以使用大多数操作系统做为物理服务器。

DR模式的效率很高,但是配置稍微复杂一点,因此对于访问量不是特别大的公司可以用haproxy/nginx取代。日1000-2000W PV或者并发请求1万一下都可以考虑用haproxy/nginx。

缺点

所有 RS 节点和调度器 LB 只能在一个局域网里面。

相比于其他两种模式性能最好!也可以实现跨机房,相对比较困难~

二、实验

1>准备环境

#1、准备三台虚拟机,一台Dserver 端, 两台REserver端

#2、三台主机ip 必须是同一网段

REserver1 端  ip  : 192.168.206.4

REserver2 端ip    : 192.168.206.5

Dserver 端    ip     :   192.168.206.3

#3、 vip (虚拟服务ip) : 192.168.206.22

2>   Dserver端 下载 ipvsadm 包

查看

3> 添加对外服务的ip ( vip)

4>添加两台REserver 主机

5>查看

6>配置网卡的子网口 为 vip   (ens33 :0 )

&1临时方法

&2永久方法

再编辑一个网卡配置 文件,将DEVICE 改成 ens33:0 即可 回环地址 lo:0 同理

查看

注:执行可能会出现下面情况,找不到 ifconfig 这个命令

#1原因是   sentos7 最小安装 没有自带 ifconfig这个命令的包,我可以来查找一下这个命令所在的包,然后去安装它

#2,通过查找发现它在  net-tools 这个包里面,我们去下载它

#3.查看

再使用  ifconfig 这个命令就可以了

7> 添加静态路由( 访问 192.168.206.22 ,都走 ens33:0 这个网卡)

^1

^2, 查看

添加成功!

REserver 1端  与 REserver 2 端

8> 在回环地址上配置 vip  (   REserver 1端  与 REserver 2 端  都需要设置 )

9> 分别添加静态路由

10>定义接受请求的响应的级别与向外通告的级别 ,使它们不能向外宣告!

arp_ignore:定义接收到ARP请求时的响应级别

0:默认,只用本地配置的有响应地址都给予响应

1:仅仅在目标IP是本地地址,并且是配置在请求进来的接口上的时候才给予响应         (仅在请求的目标地址配置请求到达的接口上的时候,才给予响应)

/proc/sys/net/ipv4/conf/lo/arp_ignore

arp_announce:定义将自己的地址向外通告时的级别

0:默认,表示使用配置在任何接口的任何地址向外通告

1:尽量仅向目标网络通告与其网络匹配的地址

2:仅向与本地接口上地址匹配的网络进行通告

/proc/sys/net/ipv4/conf/all/arp_announce

配置如下

REserver1:

REserver2:

11>全部开启 httpd 服务

注:这里使用ansible 开启 REserver1 端 与 REserver2  端 的httpd 服务

@1

@2查看

全部开始成功

12> 测试 (记得在 REserver端创建测试文件)

抓取成功

二、VS/TUN模式

①.客户端将请求发往前端的负载均衡器,请求报文源地址是CIP,目标地址为VIP。

②.负载均衡器收到报文后,发现请求的是在规则里面存在的地址,那么它将在客户端请求报文的首部再封装一层IP报文,将源地址改为DIP,目标地址改为RIP,并将此包发送给RS。

③.RS收到请求报文后,会首先拆开第一层封装,然后发现里面还有一层IP首部的目标地址是自己lo接口上的VIP,所以会处理次请求报文,并将响应报文通过lo接口送给eth0网卡直接发送给客户端。

注意:

需要设置lo接口的VIP不能在公网上出现。

优点

负载均衡器只负责将请求包分发给后端节点服务器,而RS将应答包直接发给用户。所以,减少了负载均衡器的大量数据流动,负载均衡器不再是系统的瓶颈,就能处理很巨大的请求量,这种方式,一台负载均衡器能够为很多RS进行分发。而且跑在公网上就能进行不同地域的分发。

缺点:

隧道模式的RS节点需要合法IP,这种方式需要所有的服务器支持”IP Tunneling”(IP Encapsulation)协议,服务器可能只局限在部分Linux系统上。

相比于其他两种模式,TUN 模式用的不多

最新文章

  1. 备份了我的CSDN博客
  2. qingku
  3. Program L 暴力求解
  4. 【学习笔记】【C语言】字符串数组
  5. js string操作总结
  6. IIC协议及其对ACK应答信号的处理
  7. 移动端app测试
  8. atexit模块解析
  9. css常用居中
  10. Redis数据类型List
  11. table-cell width:1% 深入理解
  12. Python 配置 selenium 模拟浏览器环境,带下载链接
  13. Python爬虫与数据分析之模块:内置模块、开源模块、自定义模块
  14. [转]用virtualBox安装centos设置网络和通信
  15. spss缺失值填充步骤
  16. 那些IT行业的经典定律
  17. php aes128加密
  18. linux下使用小票打印
  19. struts中的dojo控件sx:submit布局问题
  20. js页面滚动时层智能浮动定位实现

热门文章

  1. layui 前端UI框架
  2. 说说C#中list与IList中的区别(转载)
  3. 浏览器通知js授权
  4. 洛谷——P1602 Sramoc问题
  5. Linux网络配置出现的问题
  6. 处理半连接SQL自动改写内连接SQL一例
  7. ubuntu 安装 navicat
  8. Python之爬虫-中国大学排名
  9. 2017 GDCPC 省赛总结
  10. echarts的简单应用之(二)饼图