lvsDR模式
LVS-DR模式 是最常用的LVS负载方式 直接路由模式
Lvs调度器 只负责请求和转发 转发到真实服务器 但是响应结果 由后端服务器直接转发给客户端 不需要经过调度器处理 可以减轻Lvs调度器的负担 提高系统性能和稳定性
工作原理:

- 客户端发送请求到vip
- LVS调度器接受请求后 根据算法选择一台后端真实服务器 请求转发到后端RS 请求的报文的目的mac地址 修改成后端真实服务器的Mac地址 转发
- 后端服务器接受请求 处理完成之后 由于后端服务器直接把响应结果转发给客户端 响应报文中的目的mac地址修改成客户端的mac地址 直接把响应转发给客户端
- 调度器 后端真实服务器都有vip地址 调度的地址和后端真实服务器在同一网段

MAC地址转发
DR模式的特点
- 调度器的IP和真实服务器的IP必须在同一个物理网络中
- 真实服务器的IP地址可以是私有地址 也可以是公网地址 如果配置的是公网通过互联网可以直接访问IP
- 调度器只作为访问入口 但是不做网关 要把服务器转发功能关闭
- 真实服务器的网关也不能指向调度器 真实服务器的数据包不允许经过调度器
- 后端真实服务器上 基于LO接口配置VIP的IP地址
ARP协议:网络层协议 将IP地址解析为物理mac地址
ARP请求:主机A和主机B

ARP核心是解决局域网内部的通信 IP地址和mac地址的映射
DR模式的调度器和后端服务器都在一个网段中 通过ARP请求实现局域网内部通信

问题一:VIP地址相同会导致响应冲突
由于调度器和后端真实服务器的都有相同的vip地址 导致响应冲突ARP通信紊乱
解决办法:
对真实服务器进行处理 真实服务器不响应针对VIP的ARP请求
VIP地址使用的LO的虚拟地址 arp_ignore=1
后端真实服务器只响应目的IP为本地IP 也就是RIP 真实IP地址
问题二:返回报文使用的源地址还是VIP地址 调度器也是VIP 怎么把响应返回给客户端不经过调度器
解决办法:
后端真实服务器做内核参数优化 :arp_announce=2 系统不使用IP数据包的源地址来设置ARP的请求
如何实现DR模式负载均衡和配置方法

调度器的内核优化
net.ipv4.ip_forward = 0
net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.default.send_redirects = 0
net.ipv4.conf.ens33.send_redirects = 0

net.ipv4.conf.lo.arp_ignore = 1
#设置lo接口忽略来自任何接口的ARP请求
net.ipv4.conf.lo.arp_announce = 2
设置lo接口仅会响应本地的IP地址,其他的接口ARP请求,全部忽略
net.ipv4.conf.all.arp_ignore = 1
所有接口忽略来自任务接口的ARP请求
net.ipv4.conf.all.arp_announce = 2
# 所有接口仅会响应本地的IP地址的ARP请求,其他的接口的ARP请求全部忽略
net.ipv4.conf.lo.arp_ignore = 1
#设置lo接口忽略来自任何接口的ARP请求
net.ipv4.conf.lo.arp_announce = 2
设置lo接口仅会响应本地的IP地址,其他的接口ARP请求,全部忽略
net.ipv4.conf.all.arp_ignore = 1
所有接口忽略来自任务接口的ARP请求
net.ipv4.conf.all.arp_announce = 2
# 所有接口仅会响应本地的IP地址的ARP请求,其他的接口的ARP请求全部忽略
DR模式 核心就是响应客户端由后端的真实服务器 不需要经过调度器
VIP地址 调度器和后端服务器都要有VIP地址
VIP地址:暴露访问地址
调度器转发请求的表示
调度器和后端服务器之间进行通信
高可用(DR模式的高可用)
其他所有的请求和响应都是禁用
负载均衡算法设置
修改VIP的调度算法:
ipvsadm -E -t 192.168.233.100:80 -s wrr
修改策略轮询权重
相关文章:
lvsDR模式
LVS-DR模式 是最常用的LVS负载方式 直接路由模式 Lvs调度器 只负责请求和转发 转发到真实服务器 但是响应结果 由后端服务器直接转发给客户端 不需要经过调度器处理 可以减轻Lvs调度器的负担 提高系统性能和稳定性 工作原理: 客户端发送请求到vipLVS调度器接受请求…...
Linux系统下配置王爽汇编语言环境
【步骤一】 先打开命令行,进入root模式,输入如下语句: sudo apt-get install dosbox 该语句的作用主要是安装dosbox 【步骤二】 安装完成之后,命令行输入dosbox 会进入dosbox页面: 【步骤三】 在你的主机中&…...
scss下解决父组件中使用::v-deep修改样式穿透到子组件的问题
开发中经常会用到深度选择器来修改第三方组件库等子组件的样式,这时候就用到样式穿透(style Penetration) 样式穿透的方式有:>>>、 /deep/、::v-deep这三种 使用中发现了一个问题,就是当在父组件使用了v-deep修改自身组件或者第三方…...
Redis的瓶颈在哪里?
Redis是一个开源的非常快速且高效的内存键值存储数据库,常用作缓存、消息队列、会话存储等。 Redis之所以被认为是一个快速的数据库,主要是由于以下几个方面的设计和实现: 基于内存存储: Redis是一个基于内存存储的数据库&#x…...
如何在spark中使用scikit-learn和tensorflow等第三方python包
目录 1 打包需要的python包2 修改spark配置文件 1 打包需要的python包 首先我们用conda包管理工具对我们需要的python包进行虚拟环境创建: conda create -n python37 --copy -y -q python3.7 --prefix /your/workspace/path scikit-learn tensorflow下面是对每个参…...
JS中call()、apply()、bind()改变this指向的原理
大家如果想了解改变this指向的方法,大家可以阅读本人的这篇改变this指向的六种方法 大家有没有想过这三种方法是如何改变this指向的?我们可以自己写吗? 答案是:可以自己写的 让我为大家介绍一下吧! 1.call()方法的原理…...
BUUCTF 镜子里面的世界 1
BUUCTF:https://buuoj.cn/challenges 题目描述: 下载附件,解压得到一张.png图片。 密文: 解题思路: 1、材料只有一张图片,题目提示“镜子里面的世界”结合图片中的英文“look very closely”(翻译为“仔…...
【MySQL--->内置函数】
文章目录 [TOC](文章目录) 一、日期函数二、字符串函数三、数学函数四、其他函数 一、日期函数 current_date();当前日期 current_time();当前时间 current_timestamp();当前时间戳 now();当前时间 date(‘date’);日期 date_sub(date,interval number second/minute/hour/d…...
FFmpeg 从视频流中抽取图片
抽取单个图片 使用 FFmpeg 进行截图:在终端或命令提示符下,使用以下命令进行截图: ffmpeg -i input.mp4 -ss 00:00:05 -vframes 1 output.jpg其中, -i input.mp4:指定输入的 H.264 文件路径和名称。 -ss 00:00:05&a…...
Oracle RU 19.21及 datapatch -sanity_checks
参考文档: Oracle Database Patch 35643107 - Database Release Update 19.21.0.0.231017 Datapatch User Guide (Doc ID 2680521.1) datapatch fails with ORA-04061/ORA-4065/ORA-04045/ORA-04067 due to Golden Gate triggers. (Doc ID 2301658.1) 在19.21的…...
云原生周刊:ingress2gateway 发布 | 2023.10.30
开源项目推荐 m9sweeper m9sweeper 是一个免费且简单的 Kubernetes 安全平台。它将行业标准的开源实用程序集成到一站式 Kubernetes 安全工具中,该工具可以帮助大多数 Kubernetes 管理员保护 Kubernetes 集群以及集群上运行的应用程序。 Kairos Kairos 是在 Kub…...
YOLOv8如何关闭AMP混合精度训练?
如果你是使用命令行运行的话,只需要在训练参数中添加–unamp即可.如果你是直接代码运行的话,找到这个参数parser.add_argument(‘–unamp’, action‘store_true’, help‘Unuse Automatic Mixed Precision (AMP) training’),修改为parser.add_argument(‘–unamp’, action‘…...
k8s、kubeadm安装
master(2C/4G,cpu核心数要求大于2) 192.168.86.11 docker、kubeadm、kubelet、kubectl、flannel node01(2C/2G) 192.168.86.22 docker、kubeadm、kubelet、kubectl、flannel node02(2C/2G) 1…...
kinect v2获取人体骨骼数据
#include <iostream> #include <string> #include <WS2tcpip.h> #pragma comment (lib, "ws2_32.lib") #include <chrono> #include <opencv2/opencv.hpp> #include <opencv2/core.hpp> // 核心功能,包括矩阵…...
JDK、JRE及JVM的关系及作用
1、JDK JDK(Java Development Kit)是java程序的开发工具集,包含了运行环境JRE、开发工具及基础类库等。 注意: 生产环境,目前使用JDK同时作为开发和运行环境的比较多,主要是为了排查问题方便的同时不用切…...
组学数据上传(六)|GEO数据库数据上传实操
最近有些老师反馈文章发表时要求提供GEO登录号,如:GSEXXXX,问要怎么获取这种登录号?这时就需要把数据上传至GEO数据库了。还在等什么,跟着小编了解下GEO数据库,手把手教您上传数据至GEO数据库。 GEO数据库全称GENE EXPRESSION OMNIBUS&…...
洛谷,Hydro,Vijos,博客园,GitHub 分别是什么?
洛谷(luogu.com.cn)是一个在线的算法竞赛平台,提供了大量的算法题目,可以进行刷题、比赛、交流等。Hydro 是一个开源的在线评测系统,用于处理洛谷和其他OJ平台的算法评测。Vijos(vijos.org)是另…...
自学VUE笔记
一、基础语法学习 1、Attribute 绑定 a、绑定单个属性:给这个div 增加id 属性 <div v-bind:id"dynamicId"></div>简写: <div :id"dynamicId"></div> b、绑定多个属性值 data() {return {objectOf…...
系列四十二、Spring的事务传播行为案例演示(二)#REQUIRED
一、演示Spring的默认传播行为(REQUIRED) 1.1、运行之前表中的数据 1.2、StockServiceImpl /*** Author : 一叶浮萍归大海* Date: 2023/10/30 15:43* Description:*/ Service(value "stockServiceREQUIRED") public class StockServiceImpl…...
oracle rac-归档满处理
有客户反馈数据库无法使用了,客户手动启动报错如下 SQL> startup; ORACLE instance started. Total System Global Area 2.6924E10 bytes Fixed Size 2265984 bytes Variable Size 1.3959E10 bytes Database Buffers 1.2952E10 bytes R…...
C++实现分布式网络通信框架RPC(3)--rpc调用端
目录 一、前言 二、UserServiceRpc_Stub 三、 CallMethod方法的重写 头文件 实现 四、rpc调用端的调用 实现 五、 google::protobuf::RpcController *controller 头文件 实现 六、总结 一、前言 在前边的文章中,我们已经大致实现了rpc服务端的各项功能代…...
工业安全零事故的智能守护者:一体化AI智能安防平台
前言: 通过AI视觉技术,为船厂提供全面的安全监控解决方案,涵盖交通违规检测、起重机轨道安全、非法入侵检测、盗窃防范、安全规范执行监控等多个方面,能够实现对应负责人反馈机制,并最终实现数据的统计报表。提升船厂…...
从零实现富文本编辑器#5-编辑器选区模型的状态结构表达
先前我们总结了浏览器选区模型的交互策略,并且实现了基本的选区操作,还调研了自绘选区的实现。那么相对的,我们还需要设计编辑器的选区表达,也可以称为模型选区。编辑器中应用变更时的操作范围,就是以模型选区为基准来…...
C++ 求圆面积的程序(Program to find area of a circle)
给定半径r,求圆的面积。圆的面积应精确到小数点后5位。 例子: 输入:r 5 输出:78.53982 解释:由于面积 PI * r * r 3.14159265358979323846 * 5 * 5 78.53982,因为我们只保留小数点后 5 位数字。 输…...
基于SpringBoot在线拍卖系统的设计和实现
摘 要 随着社会的发展,社会的各行各业都在利用信息化时代的优势。计算机的优势和普及使得各种信息系统的开发成为必需。 在线拍卖系统,主要的模块包括管理员;首页、个人中心、用户管理、商品类型管理、拍卖商品管理、历史竞拍管理、竞拍订单…...
4. TypeScript 类型推断与类型组合
一、类型推断 (一) 什么是类型推断 TypeScript 的类型推断会根据变量、函数返回值、对象和数组的赋值和使用方式,自动确定它们的类型。 这一特性减少了显式类型注解的需要,在保持类型安全的同时简化了代码。通过分析上下文和初始值,TypeSc…...
FFmpeg avformat_open_input函数分析
函数内部的总体流程如下: avformat_open_input 精简后的代码如下: int avformat_open_input(AVFormatContext **ps, const char *filename,ff_const59 AVInputFormat *fmt, AVDictionary **options) {AVFormatContext *s *ps;int i, ret 0;AVDictio…...
基于stm32F10x 系列微控制器的智能电子琴(附完整项目源码、详细接线及讲解视频)
注:文章末尾网盘链接中自取成品使用演示视频、项目源码、项目文档 所用硬件:STM32F103C8T6、无源蜂鸣器、44矩阵键盘、flash存储模块、OLED显示屏、RGB三色灯、面包板、杜邦线、usb转ttl串口 stm32f103c8t6 面包板 …...
验证redis数据结构
一、功能验证 1.验证redis的数据结构(如字符串、列表、哈希、集合、有序集合等)是否按照预期工作。 2、常见的数据结构验证方法: ①字符串(string) 测试基本操作 set、get、incr、decr 验证字符串的长度和内容是否正…...
claude3.7高阶玩法,生成系统架构图,国内直接使用
文章目录 零、前言一、操作指南操作指导 二、提示词模板三、实战图书管理系统通过4o模型生成系统描述通过claude3.7生成系统架构图svg代码转换成图片 在线考试系统通过4o模型生成系统描述通过claude3.7生成系统架构图svg代码转换成图片 四、感受 零、前言 现在很多AI大模型可以…...
