模式一:D-NAT模式

原理:此模式类似NAT网络中,所以此网络内主机发到互联网上的数据包的源目的IP都是NAT路由的IP,在NAT路由上做了IP替换。

把客户端发来的数据的IP头的目的地址在负载均衡服务器上换成其中一台RS的IP,并发至对应RS来处理,RS处理完成后又交还给负载均衡服务器。负载均衡服务器再把数据包源IP改为自己的IP。

原理图

优点:能够实现负载均衡

缺点

  • 负载均衡服务器的资源成为系统瓶颈
  • 带宽有限:因为数据通信的非对称性,一般请求报文数据量较小,回复报文数据量较大,负载均衡不一定能够及时处理所以回复
  • 算力有限:IP转换需要负载均衡服务器算力较强。
  • 适用于业务流量不是特别大的情况

模式二:DR模式

原理:负载均衡服务器和RS都包含VIP,但是DR的VIP是对外裸漏的,所有网络都能够获得的,RS的VIP却是要通过修改RS的ARP通告方式将其隐藏起来。所以,所以数据都会传给DR,而DR收到数据根据调度算法,找出对应RS,并将数据包的目的MAC地址改为RS的目的MAC地址(MAC欺骗),又因为RS和DR在同一个网络,通过MAC地址就可以找到RS,这时RS就能收到此数据请求。又由于RS上也有VIP所以可以将数据包直接回复给客户端。

原理图

优点

  • 缓解了DR的资源和流量压力
  • 分发速度更快,只需要对链路层进行篡改,不需要动网络层

缺点

  • 要求DR和RS必须在一个网络中,有了物理距离的限制

模式三:TUN隧道技术

原理:将客户端发来的数据包封装成一个用RS的IP包装的数据包,发给RS,在RS收到后将包头解开,处理后直接发给客户端。

原理图

优点

  • 减少DR的流量压力
  • 能进行不同地域的分发

缺点

  • 需要RS也支持TUN协议

负载均衡之LVS的三种模式的更多相关文章

  1. LVS(Linus Virtual Server):三种负载均衡方式比较+另三种负载均衡方式

    还有个姊妹篇也可以参考这个文章:六大Web负载均衡原理与实现 什么是LVS (Linux Virtual Server)?   首先简单介绍一下LVS (Linux Virtual Server)到底 ...

  2. [lvs]lvs的三种模式

    回顾了下lvs的三种模式的调度机制 1.lvs的dr模式中的arp的抑制,eth用自己口arp回应. 2.keepalive是否直接操作rs? 不直接操作, 只操作dr(配lvs) 3.tunnel模 ...

  3. 负载均衡软件LVS分析三(配置)

    LVS集群有DR.TUN.NAT三种配置模式,可以对www服务.FTP服务.MAIL服务等做负载均衡,下面通过搭建www服务的负载均衡实例,讲述基于DR模式的LVS集群配置. 一. Director ...

  4. 高可用与负载均衡(6)之聊聊LVS的三种模式

    LVS的赘述 IPVS,ipvs ,ip_vs是负载均衡器中的内核代码 LVS是完整的负载均衡器+后端服务器.这些组件组成了虚拟服务器. LVS是一个4层负载均衡方案,标准的客户端-服务器网络语义也被 ...

  5. LVS:三种负载均衡方式比较+另三种负载均衡方式

    转:http://blog.csdn.net/u013256816/article/details/50705578 什么是LVS?   首先简单介绍一下LVS (Linux Virtual Serv ...

  6. lvs的三种模式

    一.NAT模式(VS-NAT) 原理:就是把客户端发来的数据包的IP头的目的地址,在负载均衡器上换成其中一台RS的IP地址,并发至此RS来处理,RS处理完成后把数据交给经过负载均衡器,负载均衡器再把数 ...

  7. LVS负载均衡(LVS简介、三种工作模式、十种调度算法)

    一.LVS简介 LVS(Linux Virtual Server)即Linux虚拟服务器,是由章文嵩博士主导的开源负载均衡项目,目前LVS已经被集成到Linux内核模块中.该项目在Linux内核中实现 ...

  8. 运维LVS三种模式十种调度算法

    一.LVS简介 LVS(Linux Virtual Server)即Linux虚拟服务器,是由章文嵩博士主导的开源负载均衡项目,目前LVS已经被集成到Linux内核模块中.该项目在Linux内核中实现 ...

  9. LVS(3种模式+10种调度算法)

    一.LVS简介 LVS(Linux Virtual Server)即Linux虚拟服务器,是由章文嵩博士主导的开源负载均衡项目,目前LVS已经被集成到Linux内核模块中.该项目在Linux内核中实现 ...

随机推荐

  1. 解决Mui中popover 顶部弹出菜单弹出位置不准确以及无法收回的问题

    前言 最近公司的项目转向使用Hbuilder开发移动端项目,其中想要通过在顶部标题栏加入弹出菜单的方式,来定位长列表的位置,如图所示. 问题 Mui的功能貌似还不是很完善,在使用这个弹出菜单的时候,发 ...

  2. APICloud首款全功能集成开发工具重磅发布,彰显云端一体理念

    近日,APICloud重磅推出首款云端一体的全功能集成开发工具--APICloud Studio 2.为了更深入了解这款开发工具的特性及优势,APICloud CTO 邹达针对几个核心问题做出了解答. ...

  3. Flex布局在小程序的使用

    一篇旧文,上手小程序时做的一些探索 Flex布局是一种十分灵活方便的布局方式,目前主流的现代浏览器基本都实现了对Flex布局的完全支持.而在微信小程序中,IOS端使用的渲染引擎WKWebView和安卓 ...

  4. 体温填报app作业演示

    今日学习 今天把这个体温填写app作业,做完了. 具体开发流程:https://www.cnblogs.com/yuxuan-light-of-Taihu-Lake/p/14362107.html 点 ...

  5. Android中的Preference结构的设计与实现

    本文主要通过分析源代码来分享Preference的设计和实现方式,让开发者们在今后更加顺手地使用和扩展Preference类,或者在设计其他类似的界面和功能时可以提供参考帮助. Preference概 ...

  6. vue获取验证码倒计时

    <template> <div> <el-button :disabled="disabled" @click="sendcode" ...

  7. 不同标准下的C语言常量范围的默认类型的检测 (测试样例为C90与C99)

    不同标准下的C语言常量范围的默认类型的检测 一.C90与C99标准下的不同常量范围的默认类型     C90标准下对不同常量范围默认类型的检测实现及运行结果: C99标准下对不同范围默认类型的检测实现 ...

  8. Vue3 + Echarts 5 绘制带有立体感流线中国地图,建议收藏

    本文绘制的地图效果图如下: 一.Echarts 使用五部曲 1.下载并引入 echarts Echarts 已更新到了 5.0 版本,安装完记得检查下自己的版本是否是 5.0 . npm instal ...

  9. Struts2封装获取表单数据方式

    一.属性封装 1.创建User实体类` package cn.entity; public class User { private String username; private String p ...

  10. python中faker模块的使用

    Faker 安装 pip install Faker 基本使用 from faker import Faker #创建对象,默认生成的数据为为英文,使用zh_CN指定为中文 fake = Faker( ...