LVS工作模式详解,NAT全方位剖析

在这里插入图片描述

  1. 请求到达

    • 当用户请求到达Director Server(负载均衡服务器)时,数据包会先到达内核空间的PREROUTING链。此时,数据包的源IP为CIP(Client IP),目标IP为VIP(Virtual IP)。
  2. PREROUTING链

    • PREROUTING链检查数据包的目标IP是否是本机。如果是,将数据包送至INPUT链。
  3. INPUT链

    • 在INPUT链中,LVS判断数据包请求的服务是否是集群服务。如果是,LVS将修改数据包的目标IP为后端真实服务器的IP(RIP),然后将数据包发送至POSTROUTING链。此时,数据包的源IP为CIP,目标IP为RIP。
  4. POSTROUTING链

    • POSTROUTING链通过路由,将数据包发送给后端真实服务器(Real Server)。
  5. Real Server处理请求

    • Real Server接收到数据包后,发现目标IP是自己的IP,开始构建响应包并返回给Director Server。此时,响应包的源IP为RIP,目标IP为CIP。
  6. Director Server转发响应

    • Director Server接收到Real Server返回的响应包时,会将源IP地址修改为自己的VIP地址,然后将响应包发送回客户端。此时,响应包的源IP为VIP,目标IP为CIP。

(a) 当用户请求到达Director Server

  • 数据包进入PREROUTING链。
  • 源IP:CIP目标IP:VIP

(b) PREROUTING链检查

  • 检查目标IP是否是本机,是则发送至INPUT链。

© INPUT链的LVS处理

  • LVS判断请求服务是否为集群服务,若是,则修改目标IP为真实服务器的RIP。
  • 数据包进入POSTROUTING链。
  • 源IP:CIP目标IP:RIP

(d) POSTROUTING链转发

  • 数据包通过路由发送给Real Server。

(e) Real Server处理并响应

  • Real Server接收到数据包,处理请求并构建响应包返回给Director Server。
  • 响应包源IP:RIP响应包目标IP:CIP

(f) Director Server转发响应包

  • Director Server修改响应包的源IP为VIP,然后发送给客户端。
  • 响应包源IP:VIP响应包目标IP:CIP

应用场景:

  • 网站流量均衡:LVS可以用于大型网站,将流量分配到不同的Web服务器,提升网站的处理能力和响应速度。
  • 数据库读写分离:LVS可以用于数据库集群,将读请求和写请求分配到不同的数据库服务器,优化数据库性能。

举例:

  • 电商网站:一个电商网站使用LVS来处理大量用户请求。用户的浏览请求(如查看商品页面)通过LVS分配到不同的Web服务器,确保每个服务器负载均衡,用户可以快速加载页面。
  • 在线游戏:在线游戏服务器使用LVS分配玩家的连接请求到不同的游戏服务器,确保每个服务器可以均衡处理玩家的请求,提升游戏体验。

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

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

相关文章

LeeCode 1987 DP / Trie

题意 传送门 LeeCode 1987 不同的好子序列数目 题解 DP 令以 b [ i ] b[i] b[i]为首元素的子序列集合为 S i \mathcal{S}_{i} Si​。若 b [ i ] b [ j ] b[i]b[j] b[i]b[j]&#xff0c;且 i < j i<j i<j&#xff0c;则 S j ⊆ S i \mathcal{S}_{j}\subseteq\mat…

论文学习记录

目录标题 pcl下载pcl安装学习地址问题[vtkOpenGLPolyDataMapper::SetVertexShaderCode was deprecated for VTK 9.0 and will be removed in a future version. Use vtkOpenGLShaderProperty::SetVertexShaderCode instead.](https://blog.csdn.net/qq_39784672/article/detail…

Cesium4Unreal - # 011 加载显示geojson

文章目录 加载显示geojson1 思路2 步骤2.1 添加依赖模块2.3 创建Actor2.3.1 <font color=#4ea1db>MyGeoJsonLoaderActor.h2.3.2 <font color=#4ea1db>MyGeoJsonLoaderActor.cpp2.3 蓝图代码3 资源加载显示geojson 1 思路 在Unreal Engine中加载显示geojson和加载…

服务和协议的关系?

文章目录 前言一、协议协议有三个要素:二、服务三、服务与协议的区别:前言 前文介绍了很多UDS服务和ISO 14229协议的文章,有读者会有疑问服务和协议的关系到底是什么呢? ISO14229系列规范介绍 UDS服务列表 本文小编将展开介绍。 一、协议 为进行网络中的数据交换而建立的…

MySQL学习笔记-进阶篇-SQL优化

SQL优化 插入数据 insert优化 1&#xff09;批量插入 insert into tb_user values(1,Tom),(2,Cat),(3,Jerry); 2&#xff09;手动提交事务 mysql 默认是自动提交事务&#xff0c;这样会导致频繁的开启和提交事务&#xff0c;影响性能 start transaction insert into tb_us…

Mongodb学习

mongodb应用场景&#xff1a; mongodb特点&#xff1a;高扩展性&#xff08;分片水平扩展&#xff09;、高可用&#xff0c;对事务性要求不高、应用需要大量的地理位置查询、文本查询 mongodb部署架构&#xff1a;副本集、分片集群 MongoDB 是一个开源、高性能、无模式的文档…

【最新鸿蒙应用开发】——警惕这些坑!不同API版本带来的差异

关于HarmonyOS的API从8到API12&#xff0c;存在不少版本的差异&#xff0c;比如一些ArkTS语法上的差异&#xff1b;一些组件在API9之前不支持的功能&#xff0c;本人在项目开发过程中也是踩了不少坑&#xff0c;现在给大家分享一下心得。 1.语法差异 首先是ArkTS语法上的差异…

实拆一个风扇

fr:徐海涛(hunkxu)

Qwen2——阿里巴巴最新的多语言模型挑战 Llama 3 等 SOTA

引言 经过几个月的期待&#xff0c; 阿里巴巴 Qwen 团队终于发布了 Qwen2 – 他们强大的语言模型系列的下一代发展。 Qwen2 代表了一次重大飞跃&#xff0c;拥有尖端的进步&#xff0c;有可能将其定位为 Meta 著名的最佳替代品 骆驼3 模型。在本次技术深入探讨中&#xff0c;我…

神经网络学习2

张量&#xff08;Tensor&#xff09;是深度学习和科学计算中的基本数据结构&#xff0c;用于表示多维数组。张量可以看作是一个更广义的概念&#xff0c;涵盖了标量、向量、矩阵以及更高维度的数据结构。具体来说&#xff0c;张量的维度可以是以下几种形式&#xff1a; 标量&am…

Spring-boot-logback-spring.xml文件Appender标签下的属性

在logback-spring.xml文件中&#xff0c;标签是通过set方法设置的值&#xff0c;例如下面的代码&#xff0c;属性hrName的值为TYC&#xff0c;当服务启动的时候&#xff0c;控制台会一直打印TYC三个字母 首先&#xff0c;我们自定义一个Appender&#xff0c;然后里面有一个属性…

【打鼹鼠game】

好的&#xff0c;我将为您编写一个简单的打鼹鼠游戏的代码。这个游戏会模拟一个简单的打鼹鼠游戏&#xff0c;玩家需要点击随机出现的鼹鼠。我们将使用Python编程语言和Pygame库来创建这个游戏。代码将包括以下部分&#xff1a; 初始化Pygame和游戏窗口。创建鼹鼠的类和属性。…

python面试题4: Python是按引用调用还是按值调用(难度--简单)

文章目录 题目回答 题目 Python是按引用调用还是按值调用&#xff1f; 回答 这题主要是考试对于python数据类型的认知。 1.首先对于不可变对象&#xff0c;字符&#xff0c;元组&#xff0c;数字往往是按引用进行调用,示例如下&#xff1a; def add(s):ssodd so add(s) …

LogicFlow 学习笔记——2. LogicFlow 基础 实例

LogicFlow 实例 创建实例 每一个流程设计界面&#xff0c;就是一个 LogicFlow 的实例。 <template><div id"container"></div><!-- 用于显示 LogicFlow 图表的容器 --> </template> <script>// 创建 LogicFlow 实例const lf …

Day03 链表概念与单向不循环链表的实现

目录 1、顺序表的优缺点 2、链式存储的线性表 3、单向不循环链表实现 1、顺序表的优缺点 顺序表的优点是: 由于顺序表数据元素的内存地址都是连续的,所以可以实现随机访问,而且不需要多余的信息来描述相关的数据,所以存储密度高。 顺序表的缺点是: 顺序表的数据在进行…

常用的JDK调优监控工具整理

JVM 调优首先要做的就是监控 JVM 的运行状态&#xff0c;这就需要用到各种官方和第三方的工具包了 一、 JDK 工具包 JDK 自带的 JVM 工具可以分为命令行工具和可视化工具 命令行工具 jps: JVM Process status tool&#xff1a;JVM进程状态工具&#xff0c;查看进程基本信息j…

Spring Aop及事务管理

5 Spring AOP AOP概述 AOP&#xff1a;全称是 Aspect Oriented Programming 即&#xff1a;面向切面编程。简单的说它就是把我们程序重复的代码抽取出来&#xff0c;在需要执行的时候&#xff0c;使用动态代理的技术&#xff0c;在不修改源码的基础上&#xff0c;对我们的已有…

SpringMVC框架学习笔记(七):处理 json 和 HttpMessageConverter 以及文件的下载和上传

1 处理 JSON-ResponseBody 说明: 项目开发中&#xff0c;我们往往需要服务器返回的数据格式是按照 json 来返回的 下面通过一个案例来演示SpringMVC 是如何处理的 &#xff08;1&#xff09; 在web/WEB-INF/lib 目录下引入处理 json 需要的 jar 包&#xff0c;注意 spring5.x…

OpenCV练习(1)签名修复

1.目的 在学校的学习过程中&#xff0c;需要递交许多材料&#xff0c;且每份材料上都需要对应负责人签名&#xff0c;有时候找别人要签名&#xff0c;然后自己粘贴的话&#xff0c;会出现签名模糊&#xff0c;背景不是纯白透明。为此以word中的“颜色校正”功能为参照&#xf…

基于iBeacon蓝牙定位技术的反向寻车系统

随着城市化进程的加速和汽车保有量的不断增加&#xff0c;大型停车场成为了人们日常生活中不可或缺的一部分。然而&#xff0c;在繁忙的停车场中快速找到自己的车辆&#xff0c;成为了许多车主的难题。为了解决这一问题&#xff0c;维小帮基于iBeacon蓝牙技术打造的反向寻车系统…