LVS --一文精通

news2024/12/24 0:26:37

目录

dns解析

下一跳机制

LVS:NAT

LVS: IP TUN隧道

LVS: DR

DR> TUN > NAT > FULL NAT


dns解析

DNS=本地域名服务器,当用户访问一个网址,计算机就会提出域名解析请求,并发给本地域名服务器,本地域名服务器收到请求后,查询本地资源,如有记录则返回查询结果,如果资源较少会导致访问网址加载速度变慢,此时可以换一个DNS。

第一步:客户机提出域名解析请求,并将该请求发送给本地域名服务器.

第二步:当本地的域名服务器收到请求后,就先查询本地的缓存,如果有该纪录项,则本地的域名服务器就直接把查询的结果返回.

第三步:如果本地的缓存中没有该纪录,则本地域名服务器就直接把请求发给根域名服务器,然后根域名服务器再返回给本地域名服务器一个所查询域(根的子域)的主域名服务器的地址.

第四步:本地服务器再向上一步返回的域名服务器发送请求,然后接受请求的服务器查询自己的缓存,如果没有该纪录,则返回相关的下级的域名服务器的地址.

第五步:重复第四步,直到找到正确的纪录.

第六步:本地域名服务器把返回的结果保存到缓存,以备下一次使用,同时还将结果返回给客户机.

下一跳机制

LVS: 主要用于四层协议上的负载均衡,性能相较于工作在七层的协议更好。但是协议栈是工作在传输层,对于传输层以上的高级特性支持不足

Nginx:主要解决七层协议上的负载均衡(Nginx也可以工作在四层,需要在编译的时候添加--with-streams参数),更加适合于HTTP服务、邮件服务等高层协议的服务。相较于四层协议负载均衡,牺牲了少量的性能,提供了更有针对性的服务

LVS:NAT

用户ip<-->lvs外网ip(vip)==lvs内网ip(dip)<-->后端服务器ip

LVS: IP TUN隧道

LVS: DR

假设只有一个路由器

原地址目标地址
1、刚开始发请求互联网用户的IP(CIP)+ 随机端口
+ 互联网用户的Mac地址(CMac)
VIP +80端口+路由器1的Mac (Mac1)
2、路由器转发互联网用户的IP(CIP)+ 随机端口+ 路由器2的Mac (Mac2)VIP +80端口+ LVS服务器的Mac
(LVSMac)
3、LVS调度后互联网用户的IP(CIP)+ 随机端口
+ LVS服务器的Mac (LVSMac)
VIP +80端口+ 后端真实服务器的Mac
(RSMac)
4、回应数据包VIP +80端口+ 后端真实服务器的Mac
(RSMac)
互联网用户的IP(CIP)+ 随机端口+ 路由器2的Mac (Mac2)
5、路由器转发VIP +80端口+ 路由器1的Mac (Mac1)互联网用户的IP(CIP)+ 随机端口
+ 互联网用户的Mac地(CMac)

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

缺陷:后端服务器和LVS调度器必须在同一机房

DR> TUN > NAT > FULL NAT

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

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

相关文章

你真正了解低代码么?(国内低代码平台状况分析)

■ 写在前面■ 低代码产品如何分类&#xff0c;90% 的人都没有搞清楚■ 低代码平台如何比较&#xff1f;Point 在哪儿&#xff1f;一个比喻大家全听懂■ “拼”出来的低代码平台&#xff0c;真的好用吗&#xff1f;■ 推荐一款 C 端低代码产品 ■ 写在前面 都说技术是生产力&a…

每日一个小技巧:1分钟告诉你如何给黑白照片上色

你是否有过这样的经历&#xff1a;在家翻出爷爷奶奶的旧照片时&#xff0c;发现它们都是黑白色的&#xff0c;无法体现当时的真实色彩&#xff1f;由于一些老照片的拍摄时间较早&#xff0c;因此都是以黑白形式存在的&#xff0c;这样的照片不仅影响观感&#xff0c;还抑制了我…

SAS学习第11章:试验设计

试验设计必须遵循以下原则&#xff1a;重复、随机、局部控制。 重复即每个处理都要有至少2个试验单位&#xff0c;目的是估计试验误差&#xff0c;降低试验误差。若只有1个观测值&#xff0c;无法估计试验误差。平均数抽样误差估计值大小与重复次数的平方成反比&#xff0c;适…

Linux基础——DNS服务器原理及搭建

Linux基础——DNS服务器原理及搭建 一、DNS服务器原理1.DNS系统分布式数据结构2.DNS查询类型3.DNS服物器类型 二、搭建DNS域名解析服务器步骤1.安装bind软件包2. 查看需要修改的配置文件所在路径3. 修改主配置文件4. 修改区域配置文件&#xff0c;添加正向区域配置5.配置正向区…

量化择时——LSTM深度学习量化择时(第1部分—因子测算)

之前我们尝试使用SVM&#xff0c;将时序数据转为横截面的数据&#xff0c;使用机器学习的方法进行预测 量化择时——SVM机器学习量化择时&#xff08;第1部分—因子测算&#xff09;&#xff1a; https://blog.csdn.net/weixin_35757704/article/details/129909497 但是因为股…

轻松解决ChatGPT网络报错,畅享沟通

ChatGPT的确很不错&#xff0c;无论是在什么岗位&#xff0c;使用它都可以让工作的你提升效率&#xff0c;可是我们经常会遇到一个神奇的网络报错&#xff08;当我们一会不使用就来个这样的效果提示&#xff09;&#xff0c;是不是头大&#xff1f; 好了&#xff0c;开始进入正…

实验二:华为云ModelArts订阅口罩检测模型

华为云ModelArts订阅口罩检测模型 1、通过实验提示的网址进入口罩检测模型&#xff1b;拖动窗口找到并点击订阅按钮&#xff1b;勾选温馨提示中复选框内容&#xff1b; 2、点击红色“前往控制台”按钮&#xff0c;选择华北-北京四&#xff0c;并确定&#xff1b; 3、等待同步完…

Jakarta EE - Java EE的又一个名字

Jakarta EE并不是新技术&#xff0c;他的前身就是大家熟悉的Java EE&#xff0c;老一辈的程序员可能还记得J2EE&#xff0c;是的&#xff0c;他们都是同一个东西&#xff0c;至于为什么会改来改去&#xff0c;这里面就有很多故事了。 1998年12月&#xff0c;SUN公司发布了JDK1…

PySide6/PyQT多线程之 线程锁/线程安全

前言 PySide6/PyQT多线程同时访问同一个共享资源或对象&#xff0c;程序可能会出现预期之外的结果。所以需要考虑线程安全问题。 使用PySide6/PyQT开发GUI应用程序&#xff0c;在多个线程同时访问同一个共享对象时候&#xff0c;如果没有进行同步处理那就可能会导致数据不一致或…

HTML5 <q> 标签、HTML5 <rp> 标签

HTML5 <q> 标签 实例 HTML5 <q>标签用于定义一个短引用。请参考一下内容&#xff1a; 标记一个短的引用&#xff1a; <p>WWFs goal is to: <q>Build a future where people live in harmony with nature.</q> We hope they succeed.</p&g…

019:Mapbox GL加载天地图(影像瓦片图)

第019个 点击查看专栏目录 本示例的目的是介绍演示如何在vue+mapbox中加载天地图(影像瓦片图)。 直接复制下面的 vue+mapbox源代码,操作2分钟即可运行实现效果 文章目录 示例效果配置方式示例源代码(共80行)相关API参考:专栏目标示例效果 配置方式 1)查看基础设置:h…

2023年定向增发研究报告

第一章 行业概况 定向增发是增发的一种&#xff0c;是指上市公司向符合条件的少数特定投资者非公开发行股份的行为&#xff0c;有时也称“定向募集”或“私募”。定向增发的发行价格由参与增发的投资者竞价决定&#xff0c;发行程序与公开增发相比较为灵活。一般认为&#xff…

中国地图标准坐标和投影参数

目录 一、地理坐标 二、投影坐标 三、ArcGIS投影变换 四、说明 一、地理坐标 GCS_Krasovsky_1940&#xff08;克拉索夫斯基_1940椭球体&#xff09; 具体参数如下图&#xff1a; 每个国家或地区都有各自的基准面&#xff0c;我们通常所说的北京54坐标系、西安80坐标系实际上…

天梯赛练习题集

L2-005 集合相似度 find函数&#xff0c;Nt用集合关系求 #include <bits/stdc.h> #define ios ios::sync_with_stdio(0),cin.tie(0) #define PII pair<int,int> typedef long long ll; const int N1e610; const int inf0x3f3f3f3f;using namespace std; int n,k;…

深度学习(9)之 easyOCR使用详解

easyOCR使用详解 本文在 OCR-easyocr初识 基础上进行修改EasyOCR 是一个python版的文字识别工具。目前支持80中语言的识别。其对应的 github 地址&#xff1a;EasyOCR可以在网站版测试 demo 测试效果&#xff1a;https://www.jaided.ai/easyocr/其在字符识别上的效果如下&…

学系统集成项目管理工程师(中项)系列07_信息(文档)管理

1. 信息系统相关信息&#xff08;文档&#xff09; 1.1. 是指某种数据媒体和其中所记录的数据 1.2. 永久性 1.3. 由人或机器阅读 1.4. 仅用于描述人工可读的东西 2. 分类 2.1. 开发文档 2.1.1. 可行性研究报告和项目任务书 2.1.2. 需求规格说明 2.1.3. 功能规格说明 …

MapReduce高级-读写数据库

MapReduce 读取数据库 为什么要读写数据库 本质上讲数据库是存储数据的介质&#xff0c;MapReduce是处理数据的计算引擎。通常企业会使用关系型数据库&#xff08;RDBMS&#xff09;来存储业务的相关数据&#xff0c;随着业务数据的规模越来越大&#xff0c;不可避免的存在性…

C++ -3- 类和对象 (中) | 拷贝构造函数 赋值运算符重载(二)

文章目录 4.拷贝构造函数什么是拷贝构造函数&#xff1f;应用——示例&#xff1a;日期计算器什么情况下需要自己实现拷贝构造函数&#xff1f; 5.赋值运算符重载运算符重载&#xff08;重要&#xff09;赋值运算符重载 拷贝构造函数和赋值重载函数 4.拷贝构造函数 什么是拷贝…

【进阶C语言】静态版通讯录的实现(详细讲解+全部源码)

前言 &#x1f4d5;作者简介&#xff1a;热爱跑步的恒川&#xff0c;正在学习C/C、Java、Python等。 &#x1f4d7;本文收录于C语言进阶系列&#xff0c;本专栏主要内容为数据的存储、指针的进阶、字符串和内存函数的介绍、自定义类型结构、动态内存管理、文件操作等&#xff0…

Javaee Spring JdbcTemplate基本使用查询数据库表的内容 基于xml配置方式

目录 哈哈哈哈&#xff0c;说好是要写一篇关于jdbcTemplate的基本使用&#xff0c;貌似说跑题了&#xff0c;但是主体还是用jdbctemplate实现的&#xff0c;有耐心看完的话相信能有点点收获的哦&#xff01; 项目结构&#xff1a; 用到的数据库: 小结&#xff1a; 遇到了个小…