首页 > 其他分享 >负载均衡的部署方式

负载均衡的部署方式

时间:2023-06-22 19:36:45浏览次数:41  
标签:负载 NAT 部署 模式 均衡 服务器 设备

网上找到两种负载均衡部署方式的分类描述:

百度百科的
http://baike.baidu.com/view/51184.htm

分三类:

  • 路由模式
  • 桥接模式
  • 服务直接返回模式

51cto的一篇博客:
http://virtualadc.blog.51cto.com/3027116/611592

分四类:

  • 串接路由模式 (Routed)
  • 单臂模式 (One-arm)
  • 透明模式 (Transparent)
  • 服务器直接返回 (DSR)

我个人觉得分四类这套方案更合理。

 

 

串接路由模式(Routed)

 

路由部署方式中,通常服务器的网关需要指向负载均衡设备,这种情况下的流量处理最简单,负载均衡只做一次目标地址NAT(选择服务器时)和一次源地址NAT(响应客户端报文时)

 

单臂模式 (One-arm)

 

单臂模式中,通常服务器网关指向核心交换,为保证流量能够正常处理;负载均衡设备需要同时做源地址和目标地址NAT转换。也就是说,这种情况下服务器无法记录真实访问客户端的源地址。如果是http流量时,可以通过在报头中插入真实源地址,同时调整服务器日志记录的方式弥补。

透明模式 (Transparent)

透明模式中,服务器和负载均衡设备同一网段;通过二层透传,服务器的流量需要经过负载均衡设备。

 

 

服务器直接返回 (DSR)

服务器直接返回是较早的负载均衡常用方式,通过在服务器上的配置修改,负载均衡设备其实仅处理客户请求流量,所有服务器响应的流量直接返还给客户。早期在负载均衡性能较低时常用来作为一个避免性能瓶颈的手段。由于此种方式只能使用一些基本的4层负载,现在的高性能负载均衡设备通常不使用此类部署,但仍对延迟性要求高的语音类和视频类有应用。


 

 

 

 

部署方式

特点

优点

缺点

串联路由模式

负载均衡设备使用两个不同网段,

使用3层分配流量

比较常见的部署方式

•负载均衡设备将服务器有效隔离,安全考虑上最好

•服务器网关指向负载均衡设备, 功能实现更简单,有利于最大化负载均衡性能

•服务器可以直接接收到真实访问源客户IP地址

•对现有拓扑结构变动较大

•需要考虑内网服务器是否有对外访问需求,必要时需要设置静态NAT转换

单臂模式

One-arm

VIP(提供服务的虚拟IP)和真实服务器在同一网段;

最常见的部署方式

•部署方便,对现有拓扑结构变动小

•和应用无关的流量不会通过负载均衡设备

•内部应用无影响,外部应用通常需要前端防火墙做NAT映射到应用VIP

•不能有效的屏蔽真实服务器,安全方面需要考虑

•服务器网关不是负载均衡设备时

1)负载均衡设备需要做源地址NAT后再转发流量,需要IP地址增多

2)服务器不能直接接收访问客户源地址,需要对应用做修改后才可以通过其他方式获得真实访问地址

透明模式

负载均衡设备和服务器之间部署在同一网段,

仅在有特殊需求时使用

•对现有拓扑结构变动最小

•服务器可以直接接收到真实访问源客户IP地址

部署不直观,

调试和故障分析时较繁琐

DSR

服务器回程报文不通过负载均衡设备,

直接返回给客户端;

延迟短,适合流媒体等对延时要求较高应用

•性能高,可处理吞吐量高

•服务器可以直接接收到真实访问源客户IP地址

只能做4层的负载均衡,基于7层的服务无法实现

优化(例如压缩等)无法使用

需要在服务器上配置loopback地址

标签:负载,NAT,部署,模式,均衡,服务器,设备
From: https://blog.51cto.com/u_15588078/6535318

相关文章

  • 分布式流处理组件-生产实战:Broker节点负载
    ......
  • 部署zabbix5
    部署zabbix5.0前言检查防火墙是否关闭vim/etc/selinux/configSELINUX=disabled内存4G为好配置好阿里yum源实验步骤获取zabbix的下载源rpm-Uvhhttps://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm更换za......
  • 本地部署AI知识库
    前言之前使用了多个基于向量库+chatGPT本地知识库产品,大概分析和比较了一下:使用目前云服务产品的主要的缺陷主要是数据存储在云端,存在一些安全上的问题,思考如何部署本地的AI知识库,目前的选择有两个:使用本地向量库+本地大模型,数据完全私有,如基于langchain+ChatGLM的本地知识库......
  • 使用自动化和多云:如何简化云原生应用程序的开发和部署
    目录1.引言2.技术原理及概念2.1基本概念解释2.2技术原理介绍2.3相关技术比较3.实现步骤与流程3.1准备工作:环境配置与依赖安装3.2核心模块实现3.3集成与测试4.应用示例与代码实现讲解4.1应用场景介绍4.2应用实例分析4.3核心代码实现5.优化与改进5.1性能优化5.2可扩......
  • Jenkins + Jenkinsfile + Go自动化Pipeline进行部署
    环境准备(因内容繁琐请自行搭建或问度娘)俺也会逐步更新相关文章Jenkins环境jenkins凭据管理Pipeline语法安装钉钉插件并配置钉钉机器人linux服务器go本地目录结构(微服务)服务器文件目录/home/ubuntuJenkinsfile文件文件名为: Jenkinsfilepipeline{agentanyenvironm......
  • POSTGRESQL 再说 PGBOUNCER 如何部署的问题
    开头还是介绍一下群,如果感兴趣polardb,mongodb,mysql,postgresql,redis等有问题,有需求都可以加群群内有各大数据库行业大咖,CTO,可以解决你的问题。最近得到与PGBOUNCER的一个问题,问题大体上是这样描述的,一台POSTGRESQL的服务器,2000个maxconnection,同时安装了4个pgbouncer在......
  • 使用TensorFlow进行自动化测试与部署
    目录标题:《使用TensorFlow进行自动化测试与部署》背景介绍:随着人工智能和机器学习技术的快速发展,TensorFlow成为了一个广泛应用的深度学习框架,被广泛用于构建神经网络、图像识别、自然语言处理等应用。在深度学习应用中,测试和部署非常重要,因为测试和部署是保证应用程序质量......
  • redis部署
    redis部署目录redis部署一、环境二、创建存放路径、下载、解压、编译安装包1、创建存放路径2、下载redis安装包3、解压4、编译5、复制编译后的配置文件,并修改三、通过systemctl管理redis服务,配置文件1、添加服务管理的配置文件2、启动服务、查看状态、设置开机自启四、创建软链,设......
  • docker-compose部署资产管理系统Snipe-IT
    前提环境ubuntu22.04(不重要)安装好docker安装好docker-compose拉去镜像也可以部署的时候拉取mysqlsnipe-itdockerpullmysql:8.0dockerpullsnipe/snipe-it:v6.1.0这里咱们拉去的是最新版本参考文档链接官网环境变量说明文档容器部署参考文档下载官方源......
  • docker-compose多服务器部署kafka集群
    Kafka是一个开源的分布式事件流平台,依赖Zookeeper或者KRaft,本文基于Zookeeper。服务器IP配置本文使用三个服务器来做集群搭建,IP如下:nodeNameIPnode110.10.210.96node210.10.210.97node310.10.210.98部署zookeeper工作目录为/home/zookeepernode1......