13

LVS四层负载均衡集群(4)负载均衡的主要方式

 2 years ago
source link: https://blog.51cto.com/u_15630500/5376984
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

http重定向

原理

下载网站用的较多,其实也算一种负载均衡,工作在应用层的业务代码中 根据用户的http请求计算出一个真实的web服务器地址,并将该web服务器地址写入http重定向响应中返回给客户浏览器,由浏览器重新进行访问

LVS四层负载均衡集群(4)负载均衡的主要方式_负载均衡

优缺点

优点:比较简单

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

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

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

DNS负载均衡

原理

DNS负载提供域名到IP解析的过程,我们实例查看百度的域名解析其实是这时候DNS服务器也就充当了负载均衡,很多域名运营商提供的智能dns以及多线解析都是利用了DNS负载均衡的技术,开源的BIND就可提供电信联通多线解析等强大的技术。

在DNS服务器上配置多个域名对应IP的记录。例如一个域名www.baidu.com对应一组web服务器IP地址,域名解析时经过DNS服务器的算法将一个域名请求分配到合适的真实服务器上。

LVS四层负载均衡集群(4)负载均衡的主要方式_负载均衡_02
LVS四层负载均衡集群(4)负载均衡的主要方式_linux_03

优缺点

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

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

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

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

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

反向代理负载均衡

原理:

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

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

LVS四层负载均衡集群(4)负载均衡的主要方式_linux_04

优缺点

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

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

IP网络层负载均衡

原理

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

LVS四层负载均衡集群(4)负载均衡的主要方式_负载均衡_05

优缺点

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

缺点:无法处理更高级的请求

数据链路层负载均衡

 原理

在数据链路层修改Mac地址进行负载均衡。 负载均衡服务器的IP和它所管理的web 服务群的虚拟IP一致; 负载均衡数据分发过程中不修改访问地址的IP地址,而是修改Mac地址; 通过这两点达到不修改数据包的原地址和目标地址就可以进行正常的访问。

LVS四层负载均衡集群(4)负载均衡的主要方式_linux_06

优缺点

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

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

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

F5硬件负载均衡

原理

F5 BIG-IP提供12种灵活的算法将所有流量均衡的分配到各个服务器,而面对用户,只是一台虚拟服务器。

健康性检查。F5 BIG-IP可以确认应用程序能否对请求返回对应的数据。假如F5 BIG-IP后面的某一台服务器发生服务停止、死机等故障,F5会检查出来并将该服务器标识为宕机,从而不将用户的访问请求传送到该台发生故障的服务器上。这样,只要其它的服务器正常,用户的访问就不会受到影响。宕机一旦修复,F5 BIG-IP就会自动查证应用保证对客户的请求作出正确响应并恢复向该服务器传送。

F5 BIG-IP具有动态Session的会话保持功能,笔者也是在网站中使用的F5将用户IP与Session通过F5进行的绑定,使其Session保持一致。

F5 BIG-IP的iRules功能可以做HTTP内容过滤,根据不同的域名、URL,将访问请求传送到不同的服务器。

优缺点

优点:性能好

缺点:成本高,配置冗余

四层负载和七层负载

所谓四层就是基于IP+端口的负载均衡,主要代表有lvs。

七层负载也称内容交换,就是基于URL等应用层信息的负载均衡,主要代表有nginx。

LVS四层负载均衡集群(4)负载均衡的主要方式_负载均衡_07

负载均衡&代理

负载均衡也叫代理,是代理的一种。

正向代理

只用于代理内部网络对Internet的连接请求,客户机必须指定代理服务器,并将本来要直接发送到Web服务器上的http请求发送到代理服务器中,正向代理指的是客户端代理,是由用户控制并知晓的代理方式,如我不能访问fb,然后使用了某国外服务器作为跳板机,最后成功访问了就是正向代理。

反向代理

指以代理服务器来接受Internet上的连接请求,然后将请求转发给内部网络上的服务器;并将从服务器上得到的结果返回给Internet上请求连接的客户端,此时代理服务器对外就表现为一个服务器,反向代理指的是服务端代理,在大型网站背后并不是只有一台机器提供服务,比如我访问微博,微博的某一个反向代理服务器将我解析到内部服务器的一台机器,然后这台机器给我提供微博的消息(当然实际情况比这个复杂的多),这些对于用户都是不可见的,我们只会感觉只有一台机器与我交互。


Recommend

  • 19
    • www.cnblogs.com 4 years ago
    • Cache

    负载均衡之LVS与Nginx对比

    今天总结一下负载均衡中LVS与Nginx的区别,好几篇博文一开始就说LVS是单向的,Nginx是双向的,我个人认为这是不准确的,LVS三种模式中,虽然DR模式以及TUN模式只有请求的报文经过Director,但是NAT模式,Real Server回复的报文也会经过Director Server地...

  • 10

    深入浅出 LVS 负载均衡系列(二):DR、TUN 模型原理上篇从计算机间的通信说起,知道通信必要的六要素是 源 IP 地址、端口号、源 MAC 地址,目标 IP 地址、端口号、目标 MAC 地址。其中,端口号标志了在应用层的两个具体应用信息,即快递的具体发送人...

  • 7

    深入浅出 LVS 负载均衡(三)实操 NAT、DR 模型之前介绍了 LVS 负载均衡 NAT、FULLNAT、DR、TUN 模型的实现原理,本章让我们一起动手实践一下。实践环境LVS 目前已经是 Linux 内核-中的一部分,在内核中的模块叫做 ipvs,支持...

  • 7
    • blog.51cto.com 3 years ago
    • Cache

    LVS负载均衡集群--DR模式部署

    一.LVS-DR数据包流向分析​1.为方便进行原理分析,将client与群集机器放在同一网络中,数据包流经的路线为1-2-3-4​

  • 11

    LVS四层负载均衡集群(1)集群功能分类 - LB 原创 资本家的鱼 2022-06-13...

  • 4

    LVS四层负载均衡集群(6)LVS工作模式 原创 资本家的鱼 2022-06-13 02:19...

  • 4

    HAproxy七层负载均衡(1)四层/七层负载均衡 原创 资本家的鱼 2022-06-14...

  • 5
    • www.cnblogs.com 2 years ago
    • Cache

    LVS 负载均衡 - AskaJohnny

    LVS 负载均衡 本篇主要介绍一下 lvs 是什么 以及它的 nat 模式的搭建 配合nginx来演示

  • 7
    • blog.51cto.com 2 years ago
    • Cache

    LVS负载均衡DR模式

    LVS负载均衡DR模式 精选 原创 阿晴晴晴 2023-01-07 10:12:48...

  • 10

    大家好,我是蓝胖子,做开发的同学应该经常听到过负载均衡的概念,今天我们就来实现一个乞丐版的四层负载均衡,并用它对mysql进行负载均衡测试,通过本篇你可以了解到零拷贝的应用,四层负载均衡的本质以及实践。 本文代码已经上...

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK