当前位置: 首页 > news >正文

企业架构LNMP学习笔记34

LVS-DR模式:

老师分析: 

1、首先用户用CIP请求VIP

2、根据上图可以看到,不管是Director Server还是Real Server上都需要配置VIP,那么当用户请求到达我们的集群网络的前端路由器的时候,请求数据包的源地址为CIP目标地址为VIP,此时路由器会发广播问谁是VIP,那么我们集群中所有的节点都配置有VIP,此时谁先响应路由器那么路由器就会将用户请求发给谁,这样一来我们的集群系统是不是没有意义了,那我们可以在网关路由器上配置静态路由指定VIP就是Director Server,或者使用一种机制不让Real Server 接收来自网络中的ARP地址解析请求,这样一来用户的请求数据包都会经过Director Servrer。

3、当Director Server收到用户的请求后根据此前设定好的调度算法结果来确定将请求负载到某台Real Server上去,假如说此时根据调度算法的结果,会将请求负载到RealServer 1上面去,此时Director Server 会将数据帧中的目标MAC地址修改为Real Server1的MAC地址,然后再将数据帧发送出去

4、当Real Server1 收到一个源地址为CIP目标地址为VIP的数据包时,Real Server1发现目标地址为VIP,而VIP是自己,于是接受数据包并给予处理,当Real Server1处理完请求后,会将一个源地址为VIP目标地址给CIP的数据包发出去,此时的响应请求就不会再经过Director Server了,而是直接响应给用户。

实际工作中,我们是没有权限更改路由器。

ServerTypeIP
server04负载均衡调度服务器 DS192.168.17.110(DIP)192.168.17.205(VIP)
server01真实服务器 RS Web服务器192.168.17.107(RIP)192.168.17.205(VIP)
server03真实服务器 RS Web服务器192.168.17.109(RIP) 192.168.17.205(VIP)

在RS上配置:

#设置arp的通告模式  通过VIP请求到DS服务器
shell > echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore
shell > echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce
shell > echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
shell > echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
#绑定VIP到网卡
shell > ifconfig lo:0 192.168.17.205  broadcast 192.168.17.205 netmask 255.255.255.255 up
#添加主机路由
shell > route add -host 192.168.17.205 dev lo:0

自己响应自己,通过lo速度更快一点。

添加路由,自己找自己的时候,到自己的lo网卡走进行了。

在DS上配置:

#配置DS上的VIP
shell > ifconfig ens33:0 192.168.17.205 broadcast 192.168.17.205 netmask 255.255.255.255 up
#添加主机路由
shell > route add -host 192.168.17.205 dev ens33:0
#配置转发规则
shell > ipvsadm -C
shell > ipvsadm -A -t 192.168.17.205:80 -s rr
shell > ipvsadm -a -t 192.168.17.205:80 -r 192.168.17.107 -g
shell > ipvsadm -a -t 192.168.17.205:80 -r 192.168.17.109 -g

-g 是DR工作模式

然后再进行测试:

这种配置都是临时生效的,如果要让这些永久生效。

可以放到etc/rc.local这个开机自启配置文件。

相关文章:

企业架构LNMP学习笔记34

LVS-DR模式: 老师分析: 1、首先用户用CIP请求VIP 2、根据上图可以看到,不管是Director Server还是Real Server上都需要配置VIP,那么当用户请求到达我们的集群网络的前端路由器的时候,请求数据包的源地址为CIP目标地址…...

Python学习之六 循环结构

在很多情况下,我们往往需要循环输入多次,比如,密码最多只能输错3次等。这时候,我们需要使用循环结构。本小节,将学习循环。 一、while循环 while循环的一般形式如下: while 判断条件: 循环语句块 当判断条件为真,便执行循环语句块。比如说,我们需要写一个判断账号…...

flutter 网络地址URL转file

方法1 import dart:io; import package:http/http.dart as http; import package:path/path.dart; import package:path_provider/path_provider.dart;Future<File> _fileFromImageUrl() async {final response await http.get(Uri.parse(https://example.com/xyz.jpg)…...

【JavaEE基础学习打卡07】JDBC之应用分层设计浅尝!

目录 前言一、简单说说应用分层二、实体层1.O/R映射2.O/R映射实践三、数据访问层1.DAO层2.DAO层实战总结前言 📜 本系列教程适用于JavaWeb初学者、爱好者,小白白。我们的天赋并不高,可贵在努力,坚持不放弃。坚信量最终引发质变,厚积薄发。 🚀 文中白话居多,尽量以小白…...

Helm Kubernetes Offline Deploy Rancher v2.7.5 Demo (helm 离线部署 rancher 实践)

文章目录 1. 简介2. 预备条件3. 选择 SSL 配置4. 离线安装的 Helm Chart 选项5. 下载介质6. 生成证书7. 镜像入库8. 安装 rancher9. 配置 nodeport10. 配置 ingress11. 界面访问11.1 首页预览11.2 查看集群信息11.3 查看项目空间11.4 查看节点信息 1. 简介 Rancher 是一个开源…...

网络编程day6——基于C/S架构封装的线程池

一、线程竞争基本概念 竞争与同步 同一个进程中的线程共享进程中的绝大多数资源&#xff0c;当它们随意竞争时可能会导致资源被破坏、脏数据、不完整问题 通过一些手段让线程在竞争资源时相互协调、避免出现以上问题&#xff0c;这就称为线程同步 原子操作&#xff1a; 操作过程…...

ARM/X86工业级数据采集 (DAQ) 与控制产品解决方案

I/O设备&#xff0c;包括信号调理模块、嵌入式PCI/PCIE卡、便携式USB模块、DAQ嵌入式计算机、模块化DAQ系统&#xff0c;以及DAQNavi/SDK软件开发包和DAQNavi/MCM设备状态监测软件。 工业I/O产品适用于各种工业自动化应用&#xff0c;从机器自动化控制、测试测量到设备状态监测…...

【Java】Jxls--轻松生成 Excel

1、介绍 Jxls 是一个小型 Java 库&#xff0c;可以轻松生成 Excel 报告。Jxls 在 Excel 模板中使用特殊标记来定义输出格式和数据布局。 Java 有一些用于创建 Excel 文件的库&#xff0c;例如Apache POI。这些库都很好&#xff0c;但都是一些较底层的库&#xff0c;因为它们要…...

MySQL主从复制读写分离

读写分离 读写分离&#xff0c;基本的原理是让主数据库处理事务性增、改、删操作&#xff08;INSERT、UPDATE、DELETE&#xff09;&#xff0c;而从数据库处理SELECT查询操作。数据库复制被用来把事务性操作导致的变更同步到集群中的从数据库 读写分离的好处 因为数据库的“写…...

Kafka3.0.0版本——消费者(手动提交offset)

目录 一、消费者&#xff08;手动提交 offset&#xff09;的概述1.1、手动提交offset的两种方式1.2、手动提交offset两种方式的区别1.3、手动提交offset的图解 二、消费者&#xff08;手动提交 offset&#xff09;的代码示例2.1、手动提交 offset&#xff08;采用同步提交的方式…...

【AIGC专题】Stable Diffusion 从入门到企业级实战0403

一、前言 本章是《Stable Diffusion 从入门到企业级实战》系列的第四部分能力进阶篇《Stable Diffusion ControlNet v1.1 图像精准控制》第03节&#xff0c; 利用Stable Diffusion ControlNet Canny模型精准控制图像生成。本部分内容&#xff0c;位于整个Stable Diffusion生态…...

linux提权

目录 一、linux提权靶场下载与安装 二、基础提权 1.sudo提权 2.suid提权 3.taskset执行bash 三、内核提权 相关网站 https://gtfobins.github.io/#sudohttps://blog.csdn.net/weixin_43873557/article/details/113784146 一、linux提权靶场下载与安装 #下载链接 http…...

Excel VSTO开发7 -可视化界面开发

版权声明&#xff1a;本文为博主原创文章&#xff0c;转载请在显著位置标明本文出处以及作者网名&#xff0c;未经作者允许不得用于商业目的。 7 可视化界面开发 前面的代码都是基于插件启动或者退出时&#xff0c;以及Excel Application的相关事件&#xff0c;在用户实际操作…...

英文科技论文写作与发表-投稿到发表(第6章)

1 投稿到发表 本章介绍典型会议和期刊从投稿到最终录用或退稿的全过程&#xff0c;期刊从投稿到最终录用或退稿的过程在各种不同学科领域差别不大。会议主要针对计算机科学及其相关领域&#xff08;如电子、信息、其他工程类&#xff09;的会议。最后总结几条怎样提高论文命中…...

2.4.3 【MySQL】设置系统变量

2.4.3.1 通过启动选项设置 大部分的系统变量都可以通过启动服务器时传送启动选项的方式来进行设置。如何填写启动选项就是下面两种方式&#xff1a; 通过命令行添加启动选项。 在启动服务器程序时用这个命令&#xff1a; mysqld --default-storage-engineMyISAM --max-conn…...

【Redis】2、Redis持久化和性能管理

Redis 高可用 在web服务器中&#xff0c;高可用是指服务器可以正常访问的时间&#xff0c;衡量的标准是在多长时间内可以提供正常服务&#xff08;99.9%、99.99%、99.999%等等&#xff09;。 但是在Redis语境中&#xff0c;高可用的含义似乎要宽泛一些&#xff0c;除了保证提供…...

MIT6.S081实验环境搭建

MIT6.S081 lab 环境搭建 本文参考了MIT的官方指南和知乎文章环境搭建 step1 首先需要一个ubuntu20.04的系统&#xff0c;我使用的是vscode的WSL2连接的ubuntu20.04&#xff0c;使用virtual box建一个ubuntu20.04的虚拟机应该也可以。 可以用 lsb_release -a 查看一下自己ub…...

spring spring-boot spring-cloud spring-cloud-alibaba之间版本对应关系

spring 版本与 jdk 的对应关系 https://github.com/spring-projects/spring-framework/wiki/Spring-Framework-Versions 从 spring 6.0 开始使用 jdk 17 进行编译 对应的相关 servlet 容器&#xff08;tomcat、undertow、jetty等&#xff09;的 servlet 规范转移到 eclipse&…...

Docker技术入门 | Part01:Docker简介

文章目录 1 虚拟化技术2 Docker概述2.1 Docker能解决的问题2.2 Docker介绍2.3 为什么使用Docker2.4 Docker特点2.5 Docker应用场景 3 Docker与虚拟机对比3.1 Docker和虚拟机组成结构3.2 Docker和虚拟机的不同点 4 Docker基本概念4.1 Docker引擎4.2 Docker基本架构4.3 Docker容器…...

Apache实现weblogic集群配置

安装apache&#xff0c;安装相对稳定的版本。如果安装后测试能否正常启动&#xff0c;可以通过访问http://localhost/进行测试。安装Weblogic&#xff0c;参见文档将bea安装目录 weblogic81/server/bin 下的 mod_wl_20.so 文件copy到 apache安装目录下Apache2/modules/目录下A…...

Qwen3-0.6B-FP8效果展示:中英混合输入、长上下文保持、多轮记忆实测

Qwen3-0.6B-FP8效果展示&#xff1a;中英混合输入、长上下文保持、多轮记忆实测 1. 开篇&#xff1a;小模型&#xff0c;大能耐 你可能听过很多关于大语言模型的讨论&#xff0c;动辄几十亿、上百亿参数&#xff0c;部署起来对硬件要求极高。但今天我想跟你聊点不一样的——一…...

OpenClaw技能开发:为Qwen3-32B定制PDF摘要插件

OpenClaw技能开发&#xff1a;为Qwen3-32B定制PDF摘要插件 1. 为什么需要PDF摘要技能 去年我接手了一个研究项目&#xff0c;需要快速消化上百份行业白皮书和学术论文。每天手动翻阅PDF的日子让我意识到&#xff1a;必须开发一个能自动提取核心观点的工具。这就是我决定为Ope…...

HarmonyOS6 ArkTS List 设置编辑模式

文章目录一、功能概述二、官方核心知识点1. 编辑模式实现原理2. 列表数据驱动3. 列表项操作三、完整可运行代码四、代码功能详解1. 编辑模式状态控制2. 编辑按钮切换3. 列表项动态显示删除按钮4. 删除列表项5. LazyForEach 高性能渲染五、运行效果总结一、功能概述 List 编辑模…...

5大场景解锁智能群管理:如何让LuckyLilliaBot提升社群运营效率80%

5大场景解锁智能群管理&#xff1a;如何让LuckyLilliaBot提升社群运营效率80% 【免费下载链接】LuckyLilliaBot NTQQ的OneBot API插件 项目地址: https://gitcode.com/gh_mirrors/li/LuckyLilliaBot LuckyLilliaBot作为一款基于OneBot11协议的NTQQ插件&#xff0c;能够将…...

OpenClaw远程控制方案:通过nanobot实现安全外网访问

OpenClaw远程控制方案&#xff1a;通过nanobot实现安全外网访问 1. 为什么需要远程控制OpenClaw&#xff1f; 上周我需要出差三天&#xff0c;但电脑上运行的OpenClaw自动化任务突然报错。当时我面临两个选择&#xff1a;要么让任务中断三天&#xff0c;要么冒险把本地网关直…...

分支限界法 vs 回溯法:5个关键区别和实际应用场景对比

分支限界法与回溯法&#xff1a;核心差异与工程实践指南 在解决复杂组合优化问题时&#xff0c;算法选择往往决定了程序的执行效率。当面对NP难问题时&#xff0c;两种经典算法——分支限界法和回溯法——常被开发者拿来比较。本文将深入剖析这两种算法的本质区别&#xff0c;并…...

Xcode打包上传App Store Connect失败?可能是这些配置没做好(含解决方案)

Xcode打包上传App Store Connect失败排查指南&#xff1a;从配置到解决方案 每次提交应用上架都是iOS开发者必经的考验&#xff0c;而Xcode打包上传过程中遇到的"无效二进制文件"错误堪称拦路虎。这种错误往往不会给出明确提示&#xff0c;而是通过邮件通知或在App S…...

别再拍脑袋定权重了!多目标规划中权重和ε值确定的3种科学方法

多目标规划中权重与约束值的科学确定方法&#xff1a;从理论到实践 1. 多目标规划的核心挑战与参数确定的重要性 在现实世界的决策场景中&#xff0c;我们很少遇到仅需优化单一目标的简单问题。无论是产品设计、资源分配还是投资组合管理&#xff0c;决策者往往需要同时考虑多个…...

[260326] x-cmd v0.8.10:跨 Shell 统一配置命令短名;自动装好依赖运行 WhisperLiveKit 实时语音转写

[260326] x-cmd v0.8.10&#xff1a;跨 Shell 统一配置命令短名&#xff1b;自动装好依赖运行 WhisperLiveKit 实时语音转写 开放 shortcut 内部模块&#xff0c;配置命令短名&#xff0c;支持跨 Shell 统一使用whisper 模块新增 livekit 命令&#xff0c;自动装好依赖&#x…...

三步突破抖音音乐批量下载难题:douyin-downloader全功能技术指南

三步突破抖音音乐批量下载难题&#xff1a;douyin-downloader全功能技术指南 【免费下载链接】douyin-downloader 项目地址: https://gitcode.com/GitHub_Trending/do/douyin-downloader 在数字内容创作领域&#xff0c;背景音乐是提升作品感染力的关键元素。然而&…...