企业集群平台架构设计与实现lvs篇2|学习笔记

本文涉及的产品
网络型负载均衡 NLB,每月750个小时 15LCU
传统型负载均衡 CLB,每月750个小时 15LCU
应用型负载均衡 ALB,每月750个小时 15LCU
简介: 快速学习企业集群平台架构设计与实现lvs篇2

开发者学堂课程【企业集群平台架构设计与实现:lvs/haproxy/keepalived:企业集群平台架构设计与实现lvs篇2】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/391/detail/5010


企业集群平台架构设计与实现lvs篇2


内容介绍:

一、NAT/FULL NAT

二、IP TUNNEL模式

一、NAT/FULL NAT

接下来我们来看一下第二种模式,这个模式应用很多:

1.NAT模式

结构图:

请求是经过互联网之后,第一步请求转向到服务器上,之后他把请求通过负载调度算法分配到后端任意的算法,后端接收到请求之后,再把数据经过交换机返回到负载均衡器,最后再返回到客户端。所有的请求都是经过LB服务器进来,再通过LB服务器返回出去

1.png

NAT模式∶即 Virtual Server via Network Address Translation,也就是网络各地址翻译技术实现虚拟服务器。当用户请求到达调度器时,调度器将请求报文的目标地址(即虚拟 IP 地址)改写成选定的 Real Server 地址,同时将报文的目标端口也改成选定的 Real Server的相应端口,最后将报文请求发送到选定的 RealServer。在服务器端得到数据后,Real Server 将数据返回给用户时,需要再次经过负载调度器将报文的源地址和源端口改成虚拟 IP 地址和相应端口, 然后把数据发送给用户,完成整个负载调度过程。

下面是 NAT模式 IP包调度过程图∶

首先还是客户端发送请求,客户端对应的IP是CIP,Lb服务器对应的IP为DIP,发动相应请求之后,源IP保持不变,变得是目的IP地址,由原来的VIP,修改成RIP,即后端Realserver某一台服务器IP地址。修改完后,接再来操作和刚才一样,当接收到这包之后就会对包产生一个响应请求,响应完了之后对包做一个转发,转发格式把自己IP地址当作源IP地址,把目标IP地址当作VIP地址,端口还是保持不变,为80端口,然后把请求返回到LB负载均衡器上。第二块在做转发请求时对目的IP地址做了修改,负载均衡器对目的地址和源IP以及端口修改,回源地址把数据再次传回到LB负载均衡器上。

实现一个正常的链接通信,还需要把发送的源地址改成VIP地址,目的地址修改为CIP地址,所有的IP包进出操作都要经过负载均衡器,后端把请求返回给负载均衡器后,还会修改目的源地址。

流转环节最多的时负载均衡器,这种模式下LB工作是非常高的,当然他也有自己的好处,前端访问的端口通过映射的方法,外网映射到80端口,终端修改的是IP地址,对网络是没有要求的,不在一个网段也没有关系,只要能够互相通信即可,没有限制这两个一定要在一个网段

2.png

原理图简述∶

(1)客户端请求数据,目标IP为 VIP

(2)请求数据到达 LB 服务器,LB 根据调度算法将目的地址修改为 RIP 地址及对应端口(此RIP 地址是根据调度算法得出的。)并在连接 HASH 表中记录下这个连接。

(3)数据包从 LB 服务器到达 RS 服务器 webserver,然后 webserver 进行响应。Webserver的网关必须是 LB,然后将数据返回给 LB 服务器。

(4)收到 RS 的返回后的数据,根据连接 HASH表修改源地址为 VIP、目标地址为 aP,及对应端口 80.然后数据就从 LB 出发到达客户端。

(5)客户端收到的就只能看到 VIP\DIP信息。

2.NAT模式优缺点

最主要的缺点所有的请求都要经过LB返回,那么他的负载是很高的,也称为整个系统的故障点和屏障,在整体上来说他的性能是比较地下的。

最主要的有点是对IP地址没有限制,我们可以在一个服务器上配置公网地址即可,每台服务器上server服务器网关地址必须配置为LB内网IP地址

支持端口转发,用户请求的服务器端口可以不一致

NAT技术将请求的报文和响应的报文都需要通过 LB 进行地址改写,因此网站访问量比较大的时候 LB 负载均衡调度器有比较大的瓶颈,一般要求最多之能 10-20台节点

只需要在 LB 上配置一个公网IP地址就可以了。

每台内部的 realserver 服务器的网关地址必须是调度器 LB 的内网地址。

NAT模式支持对 IP 地址和端口进行转换。即用户请求的端口和真实服务器的端口可以不一致。

3.FULL NAT模式

在NAT模式的基础上又升级的一种模式,基本上和NAT模式是一样的。

FULNAT模式把源IP也进行修改了,当用户请求到LB负载均衡器,不但修改目标IP地址,把源IP修改为DIP,DIP和VIP是有区分的,最大的变化即修改IP.

目标IP重新改为DIP,才可发到LB负载均衡器,不但把目标IP做了修改变化,还能把源IP进行修改

整体性能来说,FULNAT模式比NAT模式低10%,他的工作量比NAT模式大,源IP的修改很繁琐

4.FULNAT模式注意事项

FULL NAT 模式也不需要 LBIP 和 realserverip在同一个网段;

FULL NAT 跟 nat 相比的优点是∶保证 RS 回包一定能够回到 LVS;因为源地址就是 ⅣS-> 不确定

FULL NAT 因为要更新 sorce ip 所以性能正常比 NAT模式下降 10%


二、IP TUNNEL模式

1.图解:

前端把用户发送请求,还是到LB服务器上,根据自身负载均衡器调度算法,把请求发送到后端,把数据包封装好到IP隧道,把数据发送到后端,后端server接到请求之后,进行处理数据,处理完成之后直接把数据直接后端服务器返回给用户。

3.png

2.TUN ∶

即 Virtual Server via IP Tunneling 也就是通过 IP 隧道技术实现虚拟服务器。在 VS/TUN 方式中,调度器采用 IP 隧道技术将用户请求转发到某个 Real Server,而这个 Real Server 将直接响应用户的请求,不再经过前端调度器。此外,对 Real Server 的地域位置没有要求,可以和 Director Server 位于同一个网段,也可以在独立的一个网络中。因此,在 TUN方式中,调度器将只处理用户的报文请求,从而使集群系统的吞吐量得到提高。

3.基于IP隧道模式:

负载均衡器首先将IP包结构进行改变,在IP封装一个IP包头,根据调度算法经过IP隧道,随机分到后端节点。根据隧道协议来实现,通过协议形式,请求过来后接收包,把相对于的隧道包头详细去掉,去掉后又变成源IP和目标IP,没有做任何修改。实现机制不同,在网络结构上,负载均衡器和server不要求两个服务器在同一个网段。

4.png

它和 NAT模式不同的是,它在 LB 和 RS 之间的传输不用改写IP 地址。而是把客户请求包封装在一个 IP tunnel 里面,然后发送给 RS 节点服务器,节点服务器接收到之后解开 1P tunnel 后,进行响应处理。并且直接把包通过自己的外网地址发送给客户不用经过 LB 服务器。

原理图过程简述

客户请求数据包,目标地址 VIP发送到 LB 上。

LB 接收到客户请求包,进行IP Tunnel 封装。即在原有的包头加上 IP Tunnel 的包头。然后会根据 LVS 设置的 LB 算法选择一个合适的realserver;并把 dient 发送的 package 包装到一个新的IP 包里面;新的 1P包的 dst是 realserver 的 IP。

RS 节点服务器根据 1P Tunnel 包头信息收到请求包,realserver 收到这个padkage 后判断dst ip 是目 □,然同解粉H来的】 package 中 dst 是 VIP;会和测手们1的【网-后上是经线邦定了VIp 的ip地址;如果绑定了就会处理这个包,如果没有直接丢掉。我们一般在 realserver上面 lo∶O 绑定了 VIP的 ip地址,就可以处理得到客户的请求包并进行响应处理。

响应处理完毕之后,RS 服务器使用自己的公网线路将这个响应数据包发送给客户端。源1P 地址是VIP 地址。

4.注意事项

优点:

不受网络限制,不要求在统一网段,实现比较灵活,可横向拓展

缺点:

隧道模式对网络管理有差别,传输方式性能很低

TUNNEL 模式必须在所有的 realserver 机器上面绑定 VIP的 IP地址

TUNNEL 模式的vip---->re alserver 的包通信通过TUNNEL模式,不管是内网和外网都能通信,所以不需要 lvs vip 跟 realserver 在同一个网段内

TUNNEL 模式 realserver 会把 packet 直接发给 client 不会给 Ivs 了

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
相关文章
|
3月前
|
机器学习/深度学习 人工智能 监控
大型动作模型LAM:让企业重复任务实现80%效率提升的AI技术架构与实现方案
大型动作模型(LAMs)作为人工智能新架构,融合神经网络与符号逻辑,实现企业重复任务的自动化处理。通过神经符号集成、动作执行管道、模式学习、任务分解等核心技术,系统可高效解析用户意图并执行复杂操作,显著提升企业运营效率并降低人工成本。其自适应学习能力与上下文感知机制,使自动化流程更智能、灵活,为企业数字化转型提供坚实支撑。
291 0
大型动作模型LAM:让企业重复任务实现80%效率提升的AI技术架构与实现方案
|
3月前
|
人工智能 数据可视化 算法
企业想做数智化,数据仓库架构你得先搞懂!
在数智化浪潮下,数据驱动已成为企业竞争力的核心。然而,许多企业在转型过程中忽视了数据仓库这一关键基础。本文深入解析数据仓库的重要性,厘清其与数据库的区别,详解ODS、DWD、DWS、ADS分层逻辑,并提供从0到1搭建数据仓库的五步实战方法,助力企业夯实数智化底座,实现数据治理与业务协同的真正落地。
企业想做数智化,数据仓库架构你得先搞懂!
|
25天前
|
运维 Prometheus 监控
别再“亡羊补牢”了!——聊聊如何优化企业的IT运维监控架构
别再“亡羊补牢”了!——聊聊如何优化企业的IT运维监控架构
89 8
|
4月前
|
Ubuntu 编译器 C语言
在Ubuntu22.04平台上交叉编译针对Rv1126架构的GCC13.2.0编译器的步骤。
遵循上述步骤,您应该能够在Ubuntu 22.04平台上成功交叉编译适用于RISC-V架构RV1126的GCC 13.2.0编译器,允许您为目标硬件构建应用程序和操作系统组件。
215 10
|
4月前
|
人工智能 自然语言处理 供应链
AI时代企业难以明确大模型价值,AI产品经理如何绘制一张‘看得懂、讲得通、落得下’的AI产品架构图解决这一问题?
本文产品专家系统阐述了AI产品经理如何绘制高效实用的AI产品架构图。从明确企业六大职能切入,通过三层架构设计实现技术到业务的精准转译。重点解析了各职能模块的AI应用场景、通用场景及核心底层能力,并强调建立"需求-反馈"闭环机制。AI产品专家三桥君为AI产品经理提供了将大模型能力转化为商业价值的系统方法论,助力企业实现AI技术的业务落地与价值最大化。
232 0
|
7月前
|
人工智能 供应链 调度
|
4月前
|
运维 监控 Java
初创代购选单体,千万级平台用微服务:一张表看懂架构选型红线
在跨境电商代购系统年交易额超3.2万亿元的背景下,本文对比微服务与单体架构的技术原理、适用场景及实战案例,结合性能、运维、成本等维度,为企业提供架构选型指南,助力实现高效扩展与稳定运营。
|
7月前
|
SQL 人工智能 前端开发
JeecgBoot 低代码平台 v3.7.4 发布,后台架构大升级
JeecgBoot 是一款基于 SpringBoot2.x/3.x 和 SpringCloud Alibaba 的企业级 AI 低代码平台,采用前后端分离架构(Ant Design & Vue3),支持 Mybatis-plus 和 Shiro。它集成了强大的代码生成器,可一键生成前后端代码,无需手动编写,大幅减少重复工作。平台支持 DeepSeek、ChatGPT 和 Ollama 等主流大模型,提供 AI 对话
459 9
|
8月前
|
人工智能 前端开发 Java
DDD四层架构和MVC三层架构的个人理解和学习笔记
领域驱动设计(DDD)是一种以业务为核心的设计方法,与传统MVC架构不同,DDD将业务逻辑拆分为应用层和领域层,更关注业务领域而非数据库设计。其四层架构包括:Interface(接口层)、Application(应用层)、Domain(领域层)和Infrastructure(基础层)。各层职责分明,避免跨层调用,确保业务逻辑清晰。代码实现中,通过DTO、Entity、DO等对象的转换,结合ProtoBuf协议,完成请求与响应的处理流程。为提高复用性,实际项目中可增加Common层存放公共依赖。DDD强调从业务出发设计软件,适应复杂业务场景,是微服务架构的重要设计思想。
|
8月前
|
人工智能 运维 监控
领先AI企业经验谈:探究AI分布式推理网络架构实践
当前,AI行业正处于快速发展的关键时期。继DeepSeek大放异彩之后,又一款备受瞩目的AI智能体产品Manus横空出世。Manus具备独立思考、规划和执行复杂任务的能力,其多智能体架构能够自主调用工具。在GAIA基准测试中,Manus的性能超越了OpenAI同层次的大模型,展现出卓越的技术实力。