7月27日第一次作业
LVS 项目知识点总结作业一、什么是集群Cluster1. 描述集群是指一组相互独立的计算机服务器通过高速网络连接作为一个整体对外提供服务。对于客户端来说访问集群就像访问一台高性能的服务器一样。集群系统通过多台服务器的协同工作提供了高可用性、高并发处理能力和可扩展性。2.步骤集群工作流程步骤 1客户端向集群的虚拟IPVIP发起服务请求。步骤 2调度器负载均衡器接收到请求。步骤 3调度器根据预设的算法将请求分发到后端的某一台真实服务器Real Server上。步骤 4后端服务器处理请求并将结果返回给客户端。二、集群分类1. 描述根据主要目的不同计算机集群通常分为三类高可用性集群High Availability Cluster, HA作用保证服务的连续性。当主节点宕机时备用节点能立即接管服务避免业务中断如双机热备。负载均衡集群Load Balancing Cluster, LBC作用将大量的用户访问请求分摊给多台服务器处理提高系统的整体响应速度和并发处理能力LVS 属于此类。高性能计算集群High Performance Computing Cluster, HPC作用利用多台服务器的计算能力进行复杂的科学计算、数据分析等任务如大数据处理、天气预报模拟。三、LVS 的作用1. 描述LVSLinux Virtual ServerLinux 虚拟服务器是 Linux 内核自带的负载均衡软件。它的核心作用是在 Linux 操作系统上构建一个高性能、高可用的负载均衡集群。负载均衡将客户端的请求分发到后端多台真实服务器RS。高可用性当后端某台服务器宕机时LVS 能够自动检测并将其剔除出集群不影响整体服务。性能提升利用多台服务器分担请求极大地提高了业务的并发处理能力。四、LVS 的4种模式及原理1. 描述LVS 主要有四种工作模式NAT、DR、TUN、FULLNAT。其中 DR 模式最常用。1LVS-NAT网络地址转换模式原理客户端请求到达 LVS调度器LVS 修改请求报文的目标 IP 地址VIP 改为 RIP转发给后端 RS。RS 处理完毕后将响应报文返回给 LVSLVS 再将源 IP 改为 VIP 返回给客户端。特点请求和响应都必须经过 LVSLVS 容易成为瓶颈。2LVS-DR直接路由模式原理LVS 只修改请求报文的目标 MAC 地址将请求直接转发给后端的 RS。RS 处理完毕后直接将响应报文返回给客户端不回传给 LVS。特点响应流量不经过 LVS性能极高是生产环境最常用的模式。要求 LVS 和 RS 必须在同一个物理网段。3LVS-TUN隧道模式原理LVS 将请求报文通过 IP 隧道IPIP封装转发给后端的 RS。RS 收到后解封装处理请求并直接返回响应给客户端。特点LVS 和 RS 可以不在同一个网段支持跨网段调度但开销较大。4LVS-FULLNAT完全 NAT 模式原理在 NAT 基础上不仅修改目标 IP还修改源 IPCIP 改为 LVS 的 IP。这样确保了请求和响应都能正常返回 LVS再转发给客户端。特点后端 RS 不需要配置网关指向 LVS部署更灵活但性能损耗较大。2.步骤DR 模式配置简要步骤步骤 1在 LVS 调度器上配置 VIP绑定在 lo 口或物理网卡上。步骤 2在 LVS 上配置 ipvsadm 规则设置 VIP 和调度算法。步骤 3在 RS 服务器上配置 VIP 绑定到 lo 口抑制 ARP 响应防止 VIP 冲突。步骤 4在 RS 服务器上配置内核参数arp_ignore和arp_announce禁止响应 VIP 的 ARP 请求。步骤 5验证访问测试负载均衡效果。五、LVS 的13种算法1. 描述LVS 的调度算法决定了调度器如何将新请求分配给后端的真实服务器RS。分为静态算法和动态算法两大类共 13 种。静态调度算法4种不考虑后端服务器的当前负载情况。RR轮询按顺序轮流分配。WRR加权轮询根据权重比例分配权重高的服务器获得更多请求。DH目标地址哈希根据请求的目标 IP 地址进行哈希分配相同目标 IP 始终发给同一台 RS。SH源地址哈希根据请求的源 IP 地址进行哈希分配相同客户端 IP 始终发给同一台 RS实现会话保持。动态调度算法9种根据后端服务器的实时负载情况动态分配。LC最小连接数分配当前连接数最少的 RS。WLC加权最小连接数在 LC 基础上加入权重计算(当前连接数 / 权重)最小的 RS 优先分配LVS 默认算法。SED最短期望延迟计算(当前连接数 1) / 权重选取值最小的 RS。NQ永不排队如果有空闲的 RS直接分配否则使用 SED 算法。LBLC基于本地的最少连接针对目标 IP 的调度尽量将相同目标 IP 的请求发给同一台 RS但如果该 RS 过载则找其他 RS。LBLCR带复制的本地最少连接在 LBLC 基础上如果某台 RS 负载过高可以将其承载的部分目标 IP 复制到其他 RS。DH目标地址哈希也属动态注意不同版本的归类有些将其归为基于目标地址的动态哈希。SH源地址哈希也属动态类似。MQ最低队列LVS 内核较少直接使用。(注实际常说的 RR、WRR、LC、WLC、SH、DH 等是核心算法13 种是统称)六、LVS 的多端口轮询问题解决方案1. 描述问题LVS 默认配置下ipvsadm 只能针对单一端口进行调度。如果后端服务器同时运行了多个服务如 Web 的 80 端口 和 HTTPS 的 443 端口我们需要分别配置两条规则。如果服务端口数量非常多例如几十个手动配置会非常繁琐且不容易维护。解决方案与步骤FWMARK 防火墙标记法步骤 1使用 iptables 的multiport模块将多个需要调度的目标端口如 80, 443打上一个相同的防火墙标记例如--set-mark 10。步骤 2在 ipvsadm 中不绑定具体的端口而是使用-f参数绑定这个防火墙标记号例如ipvsadm -A -f 10。步骤 3添加后端真实服务器时端口指定为0表示由标记决定。效果一个规则管理了所有端口的流量实现了多端口统一轮询。七、LVS 的会话粘滞解决方案1. 描述问题用户在访问网站时通常会产生会话状态Session例如登录状态、购物车信息等。如果使用轮询RR等算法用户第一次请求到了服务器 A第二次请求被分发到了服务器 B由于服务器 B 没有该用户的 Session用户会被迫重新登录导致体验极差。这就是“会话粘滞Session Sticky”问题。2.解决方案与步骤方案一使用 LVS 的源地址哈希算法SH步骤 1在 LVS 配置中将调度算法设置为shSource Hashing。步骤 2配置好后同一个客户端 IP 的所有请求都会被哈希算法固定分发到同一台真实服务器上从而保证 Session 不丢失。缺点如果该服务器宕机用户的 Session 还是会丢失虽然此时会切换到其他服务器。方案二统一会话存储Redis/Session 共享更推荐步骤 1在后端所有的 Web 服务器如 Tomcat、PHP中不将 Session 存放在本地内存。步骤 2搭建一个独立的 Redis 或 Memcached 缓存集群。步骤 3将所有服务器的 Session 存储全部指向这个统一的 Redis 集群如修改 Tomcat 的context.xml配置。步骤 4这样无论 LVS 将请求分配给哪一台 Web 服务器服务器都能从同一个 Redis 中读取到用户的 Session 数据。优点彻底解决了 LVS 调度带来的会话问题即使某一台服务器坏掉用户的登录状态依然不受影响。

相关新闻

Ollama与Qwen3.5本地大模型部署实战指南

Ollama与Qwen3.5本地大模型部署实战指南

1. 项目概述:为什么选择OllamaQwen3.5组合?2026年的今天,本地大模型部署已经不再是科研机构的专利。作为一名长期在AI工程化领域实践的开发者,我亲历了从云端API调用到本地化部署的完整技术演进。Ollama作为当前最轻量的大模型管理…

2026/10/13 1:00:29 阅读更多 →
3步快速上手:在macOS上运行Windows软件和游戏的完整指南

3步快速上手:在macOS上运行Windows软件和游戏的完整指南

3步快速上手:在macOS上运行Windows软件和游戏的完整指南 【免费下载链接】Whisky A modern Wine wrapper for macOS built with SwiftUI 项目地址: https://gitcode.com/gh_mirrors/wh/Whisky 想在苹果电脑上运行Windows专属的办公软件吗?希望畅玩…

2026/10/19 14:53:14 阅读更多 →
深入C语言标准库源码:从原理到实践的学习指南

深入C语言标准库源码:从原理到实践的学习指南

1. 项目概述:为什么要看C语言标准库源码?很多C语言学习者,在掌握了基础语法和指针操作后,会进入一个平台期:能写代码,但总觉得对这门语言的理解浮于表面。比如,你知道printf能打印,m…

2026/10/18 3:53:32 阅读更多 →

最新新闻

CANFD记录仪如何破解新能源车偶发故障排查难题

CANFD记录仪如何破解新能源车偶发故障排查难题

1. 先从一次海外售后支援说起:偶发故障为什么难缠做国产新能源出海配套这几年,我接过最多的需求不是“帮我们做个新功能”,而是“帮我们查一个偶发故障”。这类故障有个共同点:客户报障时描述得很清楚——没动力、亮故障灯、偶发抖…

2026/10/20 19:02:01 阅读更多 →
REA房产经纪人全攻略:从带看谈单到风险控制,手把手教你站稳这行

REA房产经纪人全攻略:从带看谈单到风险控制,手把手教你站稳这行

REA,三个字母,如果不在这一行里泡过几年,可能很多人会以为是某个软件版本号或者游戏职业缩写,但在我们这行,它就是"房产经纪人"的标准代号。我见过不少人抱着"卖房子不就是陪客户看看房"的想法入行…

2026/10/20 19:02:01 阅读更多 →
消息传递接口死锁检测:基于队列的模拟算法与工程实现解析

消息传递接口死锁检测:基于队列的模拟算法与工程实现解析

1. 题目到底在说什么 这道题,是最短路径问题的一个经典变体,题意很直白,但实现起来有不少小坑。我们需要在一个无向图中,给定起点,找到所有其他点到起点的最短路径长度,并且要求输出这些路径本身&#xff0…

2026/10/20 19:02:01 阅读更多 →
非定常气动力与颤振计算:偶极子格网法和p-k法工程实践

非定常气动力与颤振计算:偶极子格网法和p-k法工程实践

简介:压缩包“飞行器机翼非定常气动力计算及颤振计算程序.7z”是一份面向航空航天专业研究生、工程师及高年级本科生的轻量级MATLAB代码资源,重点解决飞行器机翼在非定常流动环境下的气动力响应计算与颤振边界预测问题。资源包内仅含1个程序文件&#xf…

2026/10/20 19:02:01 阅读更多 →
深入理解.NET Async/Await原理:状态机、同步上下文与性能开销

深入理解.NET Async/Await原理:状态机、同步上下文与性能开销

“每日一题:.NET中的Async/Await原理是什么”——这题我前后被面试官问过至少三次,也在组内分享时讲过两轮。我越来越觉得,这个题目最值钱的地方不在“语法长什么样”,而在于它能把线程模型、编译器机制、上下文调度和性能开销串成…

2026/10/20 19:02:01 阅读更多 →
字节开源Agent手册:可运行源码拆解调度循环与工具注册

字节开源Agent手册:可运行源码拆解调度循环与工具注册

简介:这份资源是字节跳动开源的Agent实践手册配套可运行源码包,面向企业内部业务与技术团队、AI应用开发者及希望将智能体技术落地到实际业务中的技术人员。手册系统总结了字节在飞书、抖音、教育等多条业务线落地Agent的方法、工具与规范,涵…

2026/10/20 19:01:00 阅读更多 →

日新闻

CLRC663芯片Pin-to-Pin替代实战:从评估到量产全记录

CLRC663芯片Pin-to-Pin替代实战:从评估到量产全记录

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 1:01:30 阅读更多 →
ESP32舵机控制指南:原理、多路驱动与避坑实战

ESP32舵机控制指南:原理、多路驱动与避坑实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 1:01:30 阅读更多 →
位移法实现一阶低通滤波:单片机ADC采样降噪实战

位移法实现一阶低通滤波:单片机ADC采样降噪实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 1:01:30 阅读更多 →

周新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型(GMM)的语音识别系统,很多人第一反应就是一堆数学公式,觉得门槛很高。但如果你真的在MATLAB里把它落地跑通,会发现核心其实就是三件事:把声音变成特征向量,用GMM给每个类别…

2026/10/20 10:02:13 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人,但落到具体操作上,无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程:对图像做反白、改调色板、彩色转灰度,最后把像素数据导出成txt文件。单看每一…

2026/10/19 17:32:41 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/20 2:50:50 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 10:02:08 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 9:50:17 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 9:50:45 阅读更多 →