几种负载均衡技术的实现

【前言】
        负载均衡技术对于中大型网站的性能提高有着很大的优势,最近在学习《大型网站技术的架构》,其中对于负载均衡技术有一些介绍,将学习的经验总结一下,分享下。多交流。

【协议层】http重定向协议实现负载均衡
      原理:根据用户的http请求计算出一个真实的web服务器地址,并将该web服务器地址写入http重定向响应中返回给浏览器,由浏览器重新进行访问。

如图:

优点:比较简单

缺点:浏览器需要零次请求服务器才能完成一次访问,性能较差。

http重定向服务器自身的处理能力可能成为瓶颈。

使用http302响应重定向,有可能使搜索引擎判断为SEO作弊,降低搜索排名。

【协议层】dns域名解析负载均衡
       原理:在DNS服务器上配置多个域名对应IP的记录。例如一个域名www.baidu.com对应一组web服务器IP地址,域名解析时经过DNS服务器的算法将一个域名请求分配到合适的真实服务器上。

如图:

优点:将负载均衡的工作交给了DNS,省却了网站管理维护负载均衡服务器的麻烦,同事许多DNS还支持基于地理位置的域名解析,将域名解析成距离用户地理最近的一个服务器地址,加快访问速度吗,改善性能。

缺点:目前的DNS解析是多级解析,每一级DNS都可能化缓存记录A,当摸一服务器下线后,该服务器对应的DNS记录A可能仍然存在,导致分配到该服务器的用户访问失败。

DNS负载均衡的控制权在域名服务商手里,网站可能无法做出过多的改善和管理。

不能够按服务器的处理能力来分配负载。DNS负载均衡采用的是简单的轮询算法,不能区分服务器之间的差异,不能反映服务器当前运行状态,所以其的负载均衡效果并不是太好。

可能会造成额外的网络问题。为了使本DNS服务器和其他DNS服务器及时交互,保证DNS数据及时更新,使地址能随机分配,一般都要将DNS的刷新时间设置的较小,但太小将会使DNS流量大增造成额外的网络问题。

【协议层】反向代理负载均衡
       原理:反向代理处于web服务器这边,反向代理服务器提供负载均衡的功能,同时管理一组web服务器,它根据负载均衡算法将请求的浏览器访问转发到不同的web服务器处理,处理结果经过反向服务器返回给浏览器。

如图:

例如:浏览器访问请求的地址是反向代理服务器的地址114.100.80.10,反向代理服务器收到请求,经过负载均衡算法后得到一个真实物理地址10.0.03,并将请求结果发给真实无服务,真实服务器处理完后通过反向代理服务器返回给请求用户。

优点:部署简单,处于http协议层面。

缺点:使用了反向代理服务器后,web 服务器地址不能直接暴露在外,因此web服务器不需要使用外部IP地址,而反向代理服务作为沟通桥梁就需要配置双网卡、外部内部两套IP地址。

【网络层】IP负载均衡
       原理:在网络层通过修改目标地址进行负载均衡。

如图:

用户访问请求到达负载均衡服务器,负载均衡服务器在操作系统内核进程获取网络数据包,根据算法得到一台真实服务器地址,然后将用户请求的目标地址修改成该真实服务器地址,数据处理完后返回给负载均衡服务器,负载均衡服务器收到响应后将自身的地址修改成原用户访问地址后再讲数据返回回去。类似于反向服务器负载均衡。

优点:在响应请求时速度较反向服务器负载均衡要快。

缺点:当请求数据较大(大型视频或文件)时,速度较慢。

【链路层】数据链路层负载均衡
       原理:在数据链路层修改Mac地址进行负载均衡。

如图:

负载均衡服务器的IP和它所管理的web 服务群的虚拟IP一致;

负载均衡数据分发过程中不修改访问地址的IP地址,而是修改Mac地址;

通过这两点达到不修改数据包的原地址和目标地址就可以进行正常的访问。

优点:不需要负载均衡服务器进行地址的转换。

数据响应时不需要经过负载均衡服务器。

缺点:负载均衡服务器的网卡带宽要求较高。

目前连路程负载均衡是特别常见的一种手段,典型的产品有LVS(Linux Virtual Server)。

原文地址:https://www.cnblogs.com/ExMan/p/10480198.html

时间: 2024-10-09 01:32:38

几种负载均衡技术的实现的相关文章

LVS的三种负载均衡技术,八大负载调度算法

1.LVS项目简介 LVS是Linux Virtual Server的简写,意即Linux虚拟服务器,是一个虚拟的服务器集群系统.本项目在1998年5月由章文嵩博士成立,是中国国内最早出现的自由软件项目之一.章文嵩博士目前工作于阿里集团,主要从事集群技术.操作系统.对象存储与数据库的研究. 2.LVS功能及其原理 针对高可伸缩.高可用网络服务的需求,我们给出了基于IP层和基于内容请求分发的负载平衡调度解决方法,并在Linux内核中实现了这些方法,将一组服务器构成一个实现可伸缩的.高可用网络服务的

亿级PV请求的三种负载均衡技术(转)

http://www.360doc.com/content/17/1126/23/50145453_707419125.shtml 目录 DNS轮询 LVS负载均衡 DR模式 NAT模式 Full-NAT模式 Tunnel模式 Nginx负载均衡 LVS 与 Nginx 的区别 参考资料 在互联网+不断渗透到生活中的今天,各种各样的网络服务存在在我们身边,他们的访问流量也是大得惊人.一个大型网站(百万PV以上)想要正常访问,单单靠一台服务器是不可能提供稳定服务的.这时候就需要用负载均衡技术将海量

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

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

LVS集群中的IP负载均衡技术

章文嵩 ([email protected]) 转自LVS官方参考资料 2002 年 4 月 本文在分析服务器集群实现虚拟网络服务的相关技术上,详细描述了LVS集群中实现的三种IP负载均衡技术(VS/NAT.VS/TUN和VS/DR)的工作原理,以及它们的优缺点. 1.前言在 前面文章中,讲述了可伸缩网络服务的几种结构,它们都需要一个前端的负载调度器(或者多个进行主从备份).我们先分析实现虚拟网络服务的主要技术,指出 IP负载均衡技术是在负载调度器的实现技术中效率最高的.在已有的IP负载均衡技术

LVS负载均衡技术介绍

一.LVS集群介绍 LVS集群采用IP负载均衡技术和基于内容请求分发技术,因为所有的操作都是在Linux操作系统核心空间中将完成的,它的调度开销很小,所以调度器具有很好的吞吐率,将请求均衡地转移到不同的服务器上执行,且调度器自动屏蔽掉服 务器的故障,从而将一组服务器构成一个高性能的.高可用的虚拟服务器.整个服务器集群的结构对客户是透明的,而且无需修改客户端和服务器端的程序,实现模式主要有:VS/NAT模式,VS/TUN模式(IP隧道模式),VS/DR模式(直接路由模式). 二.LVS负载均衡方式

负载均衡技术分析与测试报告

负载均衡技术分析与测试报告                 目录 负载均衡测试报告... 1 负载均衡技术概述:... 2 服务器负载均衡... 2 链路负载均衡... 3 Outbound链路负载均衡... 3 Inbound链路负载均衡... 4 常见负载均衡调度算法... 5 测试目的... 6 测试环境搭建... 7 1:原始网络环境... 7 2:测试网络环境... 7 测试设备介绍... 8 1:产品介绍... 8 2:产品操作界面... 8 出现问题... 9 最终解决方案...

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

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

负载均衡技术全攻略

转自:http://www.blogjava.net/carter0618/archive/2007/10/16/153131.html 大量的负载均衡相关文档链接,在这里收集起来,以备后用 负载均衡技术 2005-08-20 shenghuafen 集群的负载均衡技术 2005-04-04 liumyong 使用负载均衡技术建设高负载的网络站点2004-08-22 johnathan 基于linux的负载均衡技术 2005-12-02 yhb72 web集群服务的负载均衡方案选择与实现 200

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

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