常见的负载均衡方式

  负载均衡,就是将请求分发到不同服务器上去响应,让每个服务器的负载达到均衡的状态。下面是几种常见的负载均衡方式:

1.HTTP重定向负载均衡

HTTP重定向负载均衡有一台重定向服务器,它也是一台普通的服务器,其唯一的功能就是根据用户的HTTP请求计算一台应用集群中服务器的地址,并将此地址写入HTTP重定向响应中返回给用户。
这种方案实现起来非常简单,但是需要浏览器请求两次服务器才能完成。并且重定向服务器很容易编程瓶颈,因为一次重定向返回的过程,也是一次标准HTTP请求,如果集群内有10台机器,那HTTP重定向服务器的流量将是应用服务器的10倍,如果有100台估计就要宕机了,所以伸缩性能受到了很大的限制。还有使用302响应码重定向,不利于网站的SEO。

2.DNS域名解析负载均衡

这是利用DNS处理域名解析请求的同时进行负载均衡处理的一种方案。在DNS中配置多个A记录,每次域名解析请求都会根据负载均衡算法计算一个不同的IP地址返回。
DNS域名解析负载均衡的优点是将负载均衡的工作转交给DNS,省掉了网站管理维护负载均衡服务器的麻烦,同时还可以使用智能DNS可以基于地理位置或者ISP来做域名解析,用户将会得到距离最近或者速度最快的一个服务器地址,这样可以加快用户的访问速度,改善性能。
但是这种方法也有很大的缺点,DNS是多级解析,每一级都会缓存DNS记录,如果某个服务器变动了,DNS记录更新的时间将会很长,这个速度取决于域名服务商。
一般大型网站都会使用DNS域名解析,利用域名解析作为一级负载均衡手段。你可以使用 dig <域名> 的方法查看某个域名的A记录,你会发现很多网站会有多条A记录。

3.反向代理负载均衡

这种方法就是使用反向代理服务器,它一般在web服务器前面,这个位置也正好是负载均衡服务器的位置,所以大多数反向代理服务器同时也提供负载均衡的功能。
由于web服务器不直接对外提供访问,因此web服务器不需要使用外部IP,而反向代理服务器则需要配置双网卡和内部外部两套IP地址。
反向代理服务器转发请求是在HTTP协议层面,因此也叫应用层负载均衡,由于应用层在七层网络模型中的第七层,所以一般也称为七层负载均衡。优点就是和反向代理功服务器功能集成在一起,部署简单。缺点是反向代理服务器是所有请求和响应的中转站,其性能可能会成为瓶颈。

4.网络层负载均衡

这种方法是在网络层通过修改请求目标地址进行负载均衡,网络层在七层网络层模型的第四层,所以也叫做四层负载均衡,也叫做IP层负载均衡。
请求达到负载均衡服务器后,由负载均衡服务器在操作系统内核进程获取网络数据包,根据负载均衡算法得到一台真实web服务器的地址,然后修改请求的目的地址到这台真实的web服务器地址,等到web服务器处理完成后,响应数据包回到负载均衡服务器,再将数据包源地址修改为自身的IP(负载均衡服务器的IP)地址发送给用户浏览器
这里关键在于真实无力web服务器响应数据包如何返回给负载均衡服务器。一种是源地址转换(SNAT),第二种是负载均衡服务器作为网关服务器。
网络层的负载均衡在内核进程完成数据转发,有更好的性能。但是由于响应请求的流量要经过负载均衡服务器,容易成为瓶颈。

5.数据链路层负载均衡

数据链路层主要处理 mac 地址,所以使用修改mac地址进行转发请求。负载均衡数据分发过程中不修改IP地址,只修改mac地址,通过配置真实物理服务器集群所有机器虚拟IP和负载均衡服务器IP地址一致,从而达到不修改数据包的源地址和目的地址就可以进行数据分发的目的。由于web服务器的服务器地址IP和数据请求目的IP地址一致,不需要通过负载均衡服务器进行地址转换,可将相应数据包直接返回用户。如果有足够的公有IP,其实web服务器也可以直接使用自己的IP响应请求,不过这样web服务器必须绑定负载均衡的虚拟IP地址(VIP),才能保证web服务器收到来自负载均衡发送的数据包。
这种方式称作三角传输模式,单臂模式,也叫做直接路由方式(DR)。使用DR方式的链路层负载均衡是目前大型网站使用最广的一种负载均衡手段。

原文地址:https://www.cnblogs.com/momorua/p/10033528.html

时间: 2024-10-21 08:23:59

常见的负载均衡方式的相关文章

LVS:三种负载均衡方式比较+另三种负载均衡方式

转:http://blog.csdn.net/u013256816/article/details/50705578 什么是LVS? ??首先简单介绍一下LVS (Linux Virtual Server)到底是什么东西,其实它是一种集群(Cluster)技术,采用IP负载均衡技术和基于内容请求分发技术.调度器具有很好的吞吐率,将请求均衡地转移到不同的服务器上执行,且调度器自动屏蔽掉服务器的故障,从而将一组服务器构成一个高性能的.高可用的虚拟服务器.整个服务器集群的结构对客户是透明的,而且无需修

LVS:三种负载均衡方式比较

转载于http://soft.chinabyte.com/25/13169025.shtml 1.什么是LVS? 首先简单介绍一下LVS (Linux Virtual Server)到底是什么东西,其实它是一种集群(Cluster)技术,采用IP负载均衡技术和基于内容请求分发技术.调度器具有很好的吞吐率,将请求均衡地转移到不同的服务器上执行,且调度器自动屏蔽掉服务器的故障,从而将一组服务器构成一个高性能的.高可用的虚拟服务器.整个服务器集群的结构对客户是透明的,而且无需修改客户端和服务器端的程序

LVS 负载均衡方式

LVS负载均衡方式 DirectorServer接收到客户的请求后,Director Server如何将请求发送给提供服务的Real Server节点,Real Server如何返回数据给客户,是IPVS实现的重点技术,根据不同的方式,IPVS实现负载均衡有三种方式:NAT模式.TUN模式.DR模式 1.NAT模式 (1)描述 VS/NAT模式,即(VirtualServer Via Network Address Translate),网络地址转换技术实现虚拟服务器.当客户请求到达调度器后,调

演示:GLBP跟踪功能、权值、与不同的负载均衡方式

演示:GLBP跟踪功能.权值.与不同的负载均衡方式 演示目标: 1 回忆GLBP与HSRP或者VRRP在转发流量的差异 2 GLBP的优先级和抢占与HSRP或者VRRP优先级和抢占的不同之处 3 GLBP如何跟踪本地或者远端设备的接口 4 GLBP如何通过权值来启动或停止AVF的流量转发 5 GLBP通过权重方式实现负载均衡模式的配置 演示环境:如图1所示 演示步骤: 第一步:完成基础配置. R1(config)#routerospf 1 R1(config-router)#router-id1

LVS-三种负载均衡方式比较

原 荐 LVS-三种负载均衡方式比较 发表于2年前(2014-07-25 11:46)   阅读(1551) | 评论(2) 29人收藏此文章, 我要收藏 赞1 1.什么是LVS? 首先简单介绍一下LVS (Linux Virtual Server)到底是什么东西,其实它是一种集群(Cluster)技术,采用IP负载均衡技术和基于内容请求分发技术.调度器具有很好的吞吐率,将请求均衡地转移到不同的服务器上执行,且调度器自动屏蔽掉服务器的故障,从而将一组服务器构成一个高性能的.高可用的虚拟服务器.整

常见的负载均衡策略

1.轮询 不关心服务器的能力,每次请求到来进入下一台服务器进行处理.  使用条件:每台服务器的配置基本相同 2.加权轮询 服务按顺序分配到集群中的服务器中.并且根据权重判断要在当前服务器中分配多少请求  例如 3台服务   服务器1 权重 1,服务器 2 权重 2,服务器3  权重3, 当请求来的时候 服务器1会分配一个请求也就是1/6的请求,服务器2分配 2/6的请求  服务器3分配 3/6个请求. 3.最小连接数 传入的请求会根据集群中服务器所打开的连接数来分配请求,也就是在集群中连接保持活

负载均衡常用方式

负载均衡建立在现有网络结构之上,它提供了一种廉价有效透明的方法扩展网络设备和服务器的带宽.增加吞吐量.加强网络数据处理能力.提高网络的灵活性和可用性. 一.HTTP重定向 当用户发来请求的时候,Web服务器通过修改HTTP响应头中的Location标记来返回一个新的url,然后浏览器再继续请求这个新url,实际上就是页面重定向.通过重定向,来达到"负载均衡"的目标.例如,我们在下载PHP源码包的时候,点击下载链接时,为了解决不同国家和地域下载速度的问题,它会返回一个离我们近的下载地址.

【译】gRPC负载均衡

原文地址:https://github.com/grpc/grpc/blob/master/doc/load-balancing.md gRPC负载均衡 范围 本文档解释了gPRC的负载均衡的设计. 背景 每次调用的负载均衡 值得注意的是gRPC的负载均衡是反生在每次调用的基础上,而不是每条连接的基础上.换言之,即使所有请求都来自于同一个客户端,我们仍旧想要它们被负载到所有的服务器上. 负载均衡的方式 在gPRC的负载均衡之前,先研究一下一些常见的负载均衡方式. 代理模式 代理提供一个可靠的可以

负载均衡 (一) 工作模式以及工作原理

负载均衡(科普篇) ?? 负载均衡(Load Balancing),简单地说就是将多台服务器组成一个服务器集群,然后根据我们设置的规则给服务器集群分配"工作任务".?典型的互联网应用的拓扑结构?负载均衡的多种解决方案: HTTP重定向 当用户发来请求的时候,Web服务器通过修改HTTP响应头中的Location标记来返回一个新的url,然后浏览器再继续请求这个新url,实际上就是页面重定向.通过重定向,来达到"负载均衡"的目标.例如,我们在下载PHP源码包的时候,点