高并发专题之负载均衡方案详述(包括HTTP,DNS,方向代理)

1、负载均衡概述

​ 在服务器集群中,需要有一台服务器充当调度者的角色,用户的所有请求都会首先由它接收调度者再根据每台服务器的负载情况将请求分配给某一台后端服务器去处理

高并发专题之负载均衡方案详述(包括HTTP,DNS,方向代理)

  • 重点:那么在这个过程中,调度者如何合理分配任务,保证所有后端服务器都将性能充分发挥,从而保持服务器集群的整体性能最优,这就是负载均衡问题。

2、http重定向负载均衡

  • 含义:Web服务器可通过Http响应头信息中的Location标记来返回一个新的URL,浏览器自动去访问这个新的URL。

  • 实现:可以通过Web应用程序代码实现你想到的调度策略,如可根据请求的URL的不同来进行合理的过滤和转移。

高并发专题之负载均衡方案详述(包括HTTP,DNS,方向代理)

  • 请求过程如下:

①当用户向服务器发起请求时,请求首先被集群调度者截获;调度者根据某种分配策略选择一台服务器,并将选中的服务器的IP地址封装在HTTP响应消息头部的Location字段中,并将响应消息的状态码设为302,最后将这个响应消息返回给浏览器

②当浏览器收到响应消息后,解析Location字段并向该URL发起请求,然后指定的服务器处理该用户的请求,最后将结果返回给用户

  • 注意事项:在使用HTTP重定向来实现服务器集群负载均衡的过程中,需要一台服务器作为请求调度者用户的一项操作需要发起两次HTTP请求

    • 第一次:向调度服务器发送请求,获取后端服务器的IP

    • 第二次:向后端服务器发送请求,获取处理结果。

3、DNS负载均衡

  • 含义:DNS负责将用户请求的域名映射为实际的IP地址这种映射可以是一对多的( DNS的A记录,用来指定域名对应的IP地址),这样DNS服务器便充当负载均衡调度器。
  • 实现:DNS节省了所谓的主站点,DNS服务器已经充当了主站点的职能。常见的策略是对多个A记录进行RR(轮询)

高并发专题之负载均衡方案详述(包括HTTP,DNS,方向代理)

  • 请求过程如下:

域名指向多个后端服务器(将一个域名解析到多个IP上),再设置调度策略,之后负载均衡就完全由DNS服务器来实现;

②当用户向我们的域名发起请求时,DNS服务器会自动地根据我们事先设定好的调度策略选一个合适的IP返回给用户,用户再向该IP发起请求。

  • DNS域名解析步骤·:
    • 第一步:客户端提交请求给域名服务器
    • 第二步:域名服务器将域名解析为IP地址返回给客户端
    • 第三步:客户端收到IP后向该IP发起请求

4、反向代理负载均衡

  • 含义:反向代理服务器的核心工作是转发HTTP,它工作在HTTP层面,因此,基于反向代理的负载均衡也称为七层负载均衡。
  • 实现:任何对于实际服务器的HTTP请求都必须经过调度器调度器必须等待实际服务器的HTTP响应,并将它反馈给用户

高并发专题之负载均衡方案详述(包括HTTP,DNS,方向代理)

  • 请求过程如下:

①客户端发起请求给反向代理服务器

②代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器

③后台服务器将资源返回给代理服务器

④代理服务器将资源返回给客户端

上一篇:Servlet(API)生命周期


下一篇:知识补充:整体二分