云原生第六次作业

1. 对比 LVS 负载均衡群集的 NAT 模式和 DR 模式,比较其各自的优势 。

LVS(Linux Virtual Server)的 NAT 模式DR 模式是两种主流的负载均衡实现方式,各有其适用场景和优缺点。以下是它们的核心对比:


1. NAT 模式(Network Address Translation)

工作原理
  • 请求流程:客户端请求到达负载均衡器(Director),Director 修改目标 IP 为后端 Real Server 的 IP,转发请求;Real Server 响应时需经过 Director,由 Director 将源 IP 改回虚拟 IP(VIP)后返回客户端。
  • 网络要求 :Real Server 通常使用私有 IP,且网关需指向 Director。
模式特点:

集群节点,必须在一个网络中

真实服务器必须将网关指向负载调度器

RIP 通常都是私有 IP,仅用于各个集群节点通信

负载调度器必须位于客户端和真实服务器之间,充当网关

支持端口映射

2. DR 模式(Direct Routing)

工作原理
  • 请求流程:Director 仅修改请求帧的 MAC 地址,直接将请求转发给 Real Server;Real Server 处理后直接响应客户端(不再经过 Director)。
  • 网络要求:Director 和 Real Server 需在同一物理网络(二层互通),Real Server 需配置 VIP 并抑制 ARP 响应。
  • 所有集群节点RS必须和Director在相同的物理网段(即同一个局域网中);
    2)所有客户端入站(而不是出站)请求由Director首先接收,并转发给集群节点RS;
    3)集群节点RS通常来说最好带外部IP,而不使用Director及某固定机器作为默认网关,以便将数据包直
    接回复给客户端计算机,且不会产生回包的瓶颈;
    4)所有集群节点RS上必须在lo网卡上绑定VIP地址,以便验证通过目的IP非RS的数据包;
    5)由于所有集群节点RS上必须在lo网卡上绑定VIP地址,因此,带来arp问题,即集群节点RS默认会相
    应发往Director VIP的数据包。因此要对所有集群节点RS做ARP抑制处理,把响应VIP的请求交给LVS
    Director;
    6)很多操作系统都可以用在集群内部的RS真实服务器上只要该操作系统能够实现ARP隐藏,如:
    Windows,linux,unix;
    7)LVS/DR模式不需要开启调度器转发功能,这点和LVS/NAT模式是不同的。
    8)LVS/DR Director(服务器数量100台)可以比LVS-NAT Director(服务器数量10-20台)承受更多的
    并发请求和转发更多的服务器数量。

对比总结

特性 NAT 模式 DR 模式
性能 低(响应需经 Director) 高(响应直达客户端)
网络要求 支持跨网段部署 必须同一二层网络
端口映射 支持 不支持
安全性 高(后端隐藏) 较低(后端暴露 VIP)
配置复杂度 简单 复杂(需 ARP 抑制)
适用场景 中小规模、私有网络环境 高并发、低延迟场景(如 CDN、大流量)

选择建议

  • NAT 模式:适合对灵活性要求高、规模较小或需跨网段部署的场景(如测试环境或内网服务)。
  • DR 模式:适合追求极致性能、高吞吐量的生产环境(如 Web 服务、API 网关)。

实际应用中,DR 模式更常见于大型互联网服务,而 NAT 模式多用于需简化部署的场景。若需更高容错性,可结合 Keepalived 实现 Director 的高可用。

2. 基于 openEuler 构建 LVS-DR 群集。

1

复制代码
nmcli connection add type dummy ifname dummy2 ipv4.method manual ipv4.addresses 192.168.234.137/32
yum install ipvsadm -y
ipvsadm -Ln
ipvsadm -At 192.168.234.137:80 -s rr
ipvsadm -at 192.168.234.137:80 -r 192.168.234.140:80 -g
ipvsadm -at 192.168.234.137:80 -r 192.168.234.141:80 -g
ipvsadm -Ln
curl 192.168.234.140
systemctl stop firewalld

2

复制代码
yum install -y nginx
echo "web test page,ip is `hostname -I`." > /usr/share/nginx/html/index.html
systemctl enable --now nginx
curl localhost
nmcli connection add type dummy ifname dummy2 ipv4.method manual ipv4.addresses 192.168.234.137/32
ip a
vim /etc/sysctl.conf 
	net.ipv4.conf.all.arp_ignore = 1 
	net.ipv4.conf.all.arp_announce = 2 
	net.ipv4.conf.dummy2.arp_ignore = 1 
	net.ipv4.conf.dummy2.arp_announce = 2
systemctl stop firewalld
curl 192.168.234.140

3

复制代码
yum install -y nginx
echo "web test page,ip is `hostname -I`." > /usr/share/nginx/html/index.html
systemctl enable --now nginx
curl localhost
nmcli connection add type dummy ifname dummy2 ipv4.method manual ipv4.addresses 192.168.234.137/32
ip a
vim /etc/sysctl.conf 
	net.ipv4.conf.all.arp_ignore = 1 
	net.ipv4.conf.all.arp_announce = 2 
	net.ipv4.conf.dummy2.arp_ignore = 1 
	net.ipv4.conf.dummy2.arp_announce = 2
systemctl stop firewalld
curl 192.168.234.140
相关推荐
BingoGo2 小时前
OpenSwoole 26.2.0 发布:支持 PHP 8.5、io_uring 后端及协程调试改进
后端·php
JaguarJack2 小时前
OpenSwoole 26.2.0 发布:支持 PHP 8.5、io_uring 后端及协程调试改进
后端·php·服务端
JaguarJack1 天前
推荐 PHP 属性(Attributes) 简洁读取 API 扩展包
后端·php·服务端
BingoGo1 天前
推荐 PHP 属性(Attributes) 简洁读取 API 扩展包
php
阿里云云原生2 天前
阿里云获评 Agentic AI 开发平台领导者,函数计算 AgentRun 赢下关键分!
云原生
阿里云云原生2 天前
MSE Nacos Prompt 管理:让 AI Agent 的核心配置真正可治理
微服务·云原生
JaguarJack2 天前
告别 Laravel 缓慢的 Blade!Livewire Blaze 来了,为你的 Laravel 性能提速
后端·php·laravel
阿里云云原生2 天前
当 AI Agent 接管手机:移动端如何进行观测
云原生·agent
阿里云云原生2 天前
AI 原生应用开源开发者沙龙·深圳站精彩回顾 & PPT下载
云原生
阿里云云原生2 天前
灵感启发:日产文章 100 篇,打造“实时热点洞察”引擎
云原生