LVS三种负载均衡模式:NAT、Tunneling和DR的技术对比

在这里插入图片描述

1. LVS-NAT 模式的特性

  • IP使用:RS(Real Server)应使用私有地址,RS的网关必须指向DIP(Director IP)。
  • 网络范围:DIP和RIP必须在同一个网段内。
  • 数据包处理:请求和响应报文都需要经过Director Server。
  • 高负载场景:在高负载场景中,Director Server容易成为性能瓶颈。
  • 端口映射:支持端口映射。
  • 操作系统:RS可以使用任何操作系统。
  • 缺点:对Director Server压力较大,请求和响应都需经过Director Server。

2. LVS-DR 模式的特性

  • 目标IP:保证前端路由将目标地址为VIP的报文发给Director Server,而不是RS。
  • IP使用:RS可以使用私有地址,也可以是公网地址,如果使用公网地址,此时可以通过互联网对RIP进行直接访问。
  • 网络范围:RS和Director Server必须在同一个物理网络中。
  • 数据包处理:所有请求报文经过Director Server,但响应报文不经过Director Server。
  • 地址转换:不支持地址转换,也不支持端口映射。
  • 操作系统:RS可以是大多数常见的操作系统。
  • 网关设置:RS的网关不允许指向DIP(因为我们不允许包经过Director)。
  • 回环接口:RS上的lo接口配置VIP的IP地址。
  • 缺点:RS和DS必须在同一机房内。

3. LVS-TUN 模式的特性

  • IP使用:支持隧道模式,可以使用非ARP模式。
  • 网络范围:RS和DIP可以不在同一个局域网内。
  • 数据包处理:请求报文经过Director Server,响应报文不经过Director Server。
  • 地址转换:支持隧道技术(IPIP隧道)。
  • 操作系统:RS需要支持IP隧道技术。
  • 适用场景:适用于广域网的负载均衡。

4. LVS三种负载均衡模式的比较

  • 操作系统:NAT模式下RS可以使用任何操作系统;Tunneling模式下RS需要支持隧道;DR模式下RS可以是大多数常见的操作系统。
  • 服务器网络:NAT模式下需要私有网络;Tunneling模式下可以在局域网或广域网;DR模式下需要局域网。
  • 服务器数量:NAT模式下适合10-20台服务器;Tunneling模式下适合100台服务器;DR模式下适合大于100台服务器。
  • 服务器网关:NAT模式下RS的网关必须指向DIP;Tunneling模式下RS网关可以不指向DIP;DR模式下RS的网关不允许指向DIP。
  • 效率:NAT模式效率一般;Tunneling模式效率高;DR模式效率最高。

这三种模式各有优缺点,适用于不同的应用场景。NAT模式适合小规模集群,Tunneling模式适合跨网段负载均衡,DR模式适合高并发、大规模的负载均衡需求。根据实际情况选择合适的模式,可以提高系统的性能和可用性。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/853508.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Vue 3 组合式编程:革新前端开发的新时代

Vue.js作为一种流行的前端框架,因其简洁、灵活和高性能而深受开发者喜爱。随着前端开发需求的不断演变和复杂度的增加,Vue.js也在不断地进化和改进。Vue 3的推出标志着Vue.js进入了一个新的阶段,其中最重要的一个变化就是引入了组合式编程&am…

数据库开发——并发控制(第十一章)

文章目录 前言并发执行例题一、封锁二、封锁协议三、可串行调度四、总结 学习目标:重点为并发控制的基本概念及几个基本协议 前言 数据库管理系统必须提供并发控制机制,保证事务的隔离性和一致性 并发执行例题 一、封锁 排他锁称为写锁,共…

react-redux搭建及不同版本间的对比

一.经典版 1. 安装Redux和React Redux npm install redux react-redux 2. 创建action // actions/counterActions.js export const increment () > {return {type: INCREMENT}; };export const decrement () > {return {type: DECREMENT}; };export const add (amo…

atmega8 上传程序

使用icsp 烧写时先关闭串口程序,与串口uart连接相关的电路勿于电脑连接 接触不良 1.使用icsp 上传 1)可以直接上传程序 如官方示例blink 或是 serial示例 2)可以先烧录bootload 方便下次使用串口上传程序代码 A)使用专门的icsp 上传器上传…

关于二分法的理解(以JS为例)

算法介绍 基本概念 二分查找算法,又称折半查找算法,是一种在有序数组中查找特定元素的高效方法。它的核心思想是将数组分成两半,然后根据目标值与中间元素的比较结果来决定是继续在左半部分还是右半部分进行搜索。 工作原理 初始化&#…

【iOS】如何断点看系统方法在哪一个库

如何断点看系统方法在哪一个库 开源网站如何断点看系统方法在哪一个库1 下符号断点2 符号断点中输入 load ,并且开启断点(Enable)。3 运行程序,触发断点,在堆栈信息中找到load方法,可以看到其在libobjc.A.d…

程序员的wsl2

坑 wsl无法打开 上班时打开wsl2提示 WSL 正在完成升级... Could not write value to key \SOFTWARE\Classes\Directory\shell\WSL. Verify that you have sufficient access to that key, or contact your support personnel. 原因未知,之前并没有更新过&#xff…

【AI+编程】工作日常场景随时可以AI编程,记一个问答SQL快速导出数据日常示例

今天有个场景,我们有个老项目,由于历史原因差不多1年多没使用了,恰巧客户紧急情况要使用。因为当时没有需求,所以V1.0上线后 就没做更新。 需求很简单:我们假定 项目问题表、客户表、问题答案表, 实时查询…

TCP协议报头详解

目录 前言 TCP特点 TCP报头 1.源端口和目的端口 2.序号 3.确认号 4.数据偏移 5.保留 6.控制位 ① 紧急URG(URGent) ② 确认ACK(ACKnowledgment) ③ 推送PSH(PuSH) ④复位RST(ReSeT&…

tornado.httputil.HTTPFile

tornado.httputil.HTTPFile 在 Tornado web 框架中并不是直接提供的一个类或者对象。但是,当你提到与文件上传相关的功能时,通常我们是在谈论 Tornado 的 tornado.web.RequestHandler 类中处理文件上传的方法。 在 Tornado 中,文件上传通常是…

【React】《React 学习手册 (第2版) 》笔记-Chapter1-初识 React

一、初识 React 在 package.json 文件中提供具体的版本信息,以便安装各个包的正确版本。 官方文档:https://zh-hans.react.dev/ 建议安装 React 开发者工具,来辅助开发 React 项目。这些工具可通过扩展 Chrome 和 Firefox 中安装&#xff0…

Android获取CPU的使用率

Android获取CPU的使用率 1、参考博客2、使用读取/proc/stat方案2.1 读取/proc/stat权限2.2 CPU使用率获取代码 1、参考博客 android系统之获取CPU的使用率 安卓性能测试之cpu占用率统计方法总结 CPU使用率指标内核源码分析 Android获取CPU,内存,磁盘使用…

Hexo 搭建个人博客(ubuntu20.04)

1 安装 Nodejs 和 npm 首先登录NodeSource官网: Nodesource Node.js DEB 按照提示安装最新的 Node.js 及其配套版本的 npm。 (1)以 sudo 用户身份运行下面的命令,下载并执行 NodeSource 安装脚本: sudo curl -fsSL…

【牛客面试必刷TOP101】Day32.BM68 矩阵的最小路径和和BM69 把数字翻译成字符串

文章目录 前言一、BM68 矩阵的最小路径和题目描述题目解析二、BM69 把数字翻译成字符串题目描述题目解析总结 前言 一、BM68 矩阵的最小路径和 题目描述 描述: 给定两个字符串str1和str2,输出两个字符串的最长公共子序列。如果最长公共子序列为空&#x…

C++中符号常量与预处理器的行为

C中符号常量与预处理器的行为 以头文件 climits 为例来说明,该头文件定义了符号常量来表示类型的限制。如前所述,INTMAX表示类型int 能够存储的最大值,对于 Windows7系统,为2147483 647。编译器厂商提供了 climits 文件&#xff…

webpack逆向

声明:个人总结记录一下,避免忘记 1、webpack 类型 单文件 直接可以在文件顶部找到加载器 多文件 顶部找不到加载器 如图所示 多文件的这话,全局搜所 69725 找到类似n(69725) ,单点n进去,可以找到加载器 2、调用 通过赋值的方…

企业开源免费和开源的堡垒机选型方案

企业在选择堡垒机时,通常会考虑其安全性、功能性、易用性以及成本。以下是一些免费和开源的堡垒机解决方案,适合希望在保障安全的前提下控制成本的企业: 1. Jumpserver GitHub 地址: https://github.com/jumpserver/jumpserver特点:支持Web…

13.零拷贝

零拷贝:不需要将数据放入到java的缓存中。 更少的用户态与内核态的切换。不利用cpu计算,减少cpu缓存伪共享。零拷贝适合小文件传输。需求 读取服务器的一个文件,通过socket的API发送到客户端。 伪代码 File f = new File("D:/data.txt"); RandomAccessFile fi…

Linux 并发与竞争实验学习

Linux 并发与竞争实验学习 原子操作实验 这里原子操作就是采用原子变量来保护一个程序运行的完整过程,使用atomic 来实现一次只能允许一个应用访问 LED,创建atomic.c文件,其实改动内容就是添加原子变量, 要在设备结构体数据添加…

探索算法的时间复杂度:五种不同时间复杂度的算法介绍

探索算法的时间复杂度:五种不同时间复杂度的算法介绍 在计算机科学中,理解和分析算法的时间复杂度是非常重要的,它可以帮助我们预测算法在处理不同规模数据时的性能表现。本文将介绍五种不同时间复杂度的算法,并解释每个算法如何…