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

对比 LVS 负载均衡群集的 NAT 模式和 DR 模式,比较其各自的优势 与基于 openEuler 构建 LVS-DR 群集

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

NAT 模式

部署简单:NAT 模式下,所有的服务器节点只需要连接到同一个局域网内,通过负载均衡器进行网络地址转换,就可以实现负载均衡功能。不需要对服务器节点的网络配置进行复杂的修改,也不需要特殊的网络设备支持,易于部署和维护。

对服务器要求低:服务器节点无需特殊配置,它们可以使用私有 IP 地址,通过负载均衡器进行 NAT 转换后对外提供服务。这使得在现有的网络环境中添加新的服务器节点变得较为容易,无需担心 IP 地址冲突等问题。

安全性较高:由于服务器节点使用私有 IP 地址,对外隐藏了内部网络结构,外部网络只能看到负载均衡器的公网 IP 地址,一定程度上提高了内部服务器的安全性,减少了外部攻击的暴露面。

支持端口映射:可以方便地实现端口映射功能,将外部请求的不同端口映射到内部服务器的不同端口或服务上,灵活地满足各种应用场景的需求,例如可以将外部的 80 端口请求映射到内部服务器的不同 Web 服务端口。

DR 模式

性能高效:DR 模式下,负载均衡器只负责将请求分发到后端服务器,后端服务器直接将响应数据包返回给客户端,无需经过负载均衡器再次转发。这样大大减少了负载均衡器的处理压力,提高了整个系统的响应速度和吞吐量,能够处理大量的并发请求。

支持大流量:由于响应数据直接从后端服务器返回给客户端,避免了 NAT 模式下可能出现的负载均衡器带宽瓶颈问题,特别适合处理大流量的网络服务,如大型网站、视频流服务等。

对网络依赖小:相比其他一些模式,DR 模式对网络的依赖相对较小,不需要特殊的网络设备支持复杂的功能。只需要保证负载均衡器和后端服务器之间的网络连接正常,并且能够进行正确的路由配置即可。

服务器可扩展性好:在 DR 模式下,添加或删除后端服务器节点对整个系统的影响较小,只需要在负载均衡器上进行相应的配置调整,后端服务器可以独立地进行扩展或收缩,方便实现系统的弹性扩展,以满足业务量的变化需求。

二 、LVS-DR 群集

1.环境

3台openEuler加一台rocky或4台openEuler

调度器 192.168.1.11

RS1  192.168.1.12

RS2  192.168.1.13

客户端  192.168.1.14

VIP 192.168.1.10/32

2.配置RS(两台都要)

2.1安装ngix,静态页面

[root@openEuler-1 ~]# yum install nginx -y
[root@openEuler-1 ~]# echo "web test page,ip is `hostname -I`" > /usr/share/nginx/html/index.html
[root@openEuler-1 ~]# systemctl enable --now nginx

2.2绑定VIP

[root@openEuler-1 ~]# curl localhost
web test page,ip is 192.168.1.12 
[root@openEuler-1 ~]# nmcli con add type dummy ifname dummy1 ipv4.method manual ipv4.addresses 192.168.1.10/32
Connection 'dummy-dummy1' (8d1da361-2b2f-4242-8926-6cead4ce9814) successfully added.[root@openEuler-1 ~]# curl localhost
web test page,ip is 192.168.1.13
[root@openEuler-1 ~]# nmcli con add type dummy ifname dummy1 ipv4.method manual ipv4.addresses 192.168.1.10/32
Connection 'dummy-dummy1' (6140825e-f6c6-498c-972a-8845f28af910) successfully added.

2.3arp抑制

[root@openEuler-1 ~]# vim /etc/sysctl.conf 

添加下列内容

net.ipv4.conf.all.arp_ignore=1
net.ipv4.conf.all.arp_announce=2
net.ipv4.conf.dummy1.arp_ignore=1
net.ipv4.conf.dummy1.arp_announce=2

输入下列代码使其生效

[root@openEuler-1 ~]# sysctl -p

3.配置调度器

3.1绑定VIP

[root@openEuler-1 ~]# nmcli con add type dummy ifname dummy1 ipv4.method manual ipv4.addresses 192.168.1.10/32
Connection 'dummy-dummy1' (d830eb43-e633-45d7-8702-1d7327ffd717) successfully added.

3.2安装ipvsadm

[root@openEuler-1 ~]# yum install ipvsadm -y

3.3配置LVS-DR

[root@openEuler-1 ~]# ipvsadm -At 192.168.1.10:80 -s rr 
[root@openEuler-1 ~]# ipvsadm -at 192.168.1.10:80 -r 192.168.1.12:80 -g
[root@openEuler-1 ~]# ipvsadm -at 192.168.1.10:80 -r 192.168.1.13:80 -g

4.测试 

http://www.lryc.cn/news/536497.html

相关文章:

  • matplotlib绘制频率分布直方图
  • 相得益彰,Mendix AI connector 秒连DeepSeek ,实现研发制造域场景
  • shell脚本自动安装MySQL8
  • Git | 相关命令
  • RealClip正式发布:重新定义轻量化数字内容交互体验
  • Linux内核 - 非仿生机器人之感知主控系统(协议栈)
  • CZML 格式详解,javascript加载导出CZML文件示例
  • 【gRPC-gateway】auth-通过拦截器从上下文中提取元数据用于认证,与从http header转发待认证数据到上下文进行验证,go案例
  • Sass基础知识以及常用知识整理
  • Redis 内存回收机制
  • docker安装mongo,导入、导出数据
  • Excel常用操作
  • 嵌入式EasyRTC实时通话支持海思hi3516cv610,编译器arm-v01c02-linux-musleabi-gcc
  • 在freertos中,中断优先级和任务优先级之间的关系和使用方法
  • 设置ollama接口能外部访问
  • Go GUI 框架, energy many-browser 示例解读
  • Docker 部署 MongoDB | 国内阿里镜像
  • 软件工程-软件设计
  • Elasticsearch:15 年来致力于索引一切,找到重要内容
  • DeepSeek大模型一键部署解决方案:全平台多机分布式推理与国产硬件优化异构计算私有部署
  • Docker 部署 MySQL-5.7 单机版
  • 打破AI黑盒,拥抱开源力量:基于openGauss+DeepSeek的本地知识库,打造你的专属AI助手!
  • java配置api,vue网页调用api从oracle数据库读取数据
  • visual studio导入cmake项目后打开无法删除和回车
  • linux运行kettle 遇到问题汇总
  • 初识camel智能体(一)
  • 如何在Excel和WPS中进行翻译
  • TCP的拥塞控制
  • 【前端】几种常见的跨域解决方案代理的概念
  • C++之2048小游戏 第二期