负载均衡的工作方式

负载均衡的工作方式

Http重定向

当http代理(比如浏览器)向web服务器请求某个URL后,web服务器可以通过http响应头信息中的Location标记来返回一个新的URL。这意味着HTTP代理需要继续请求这个新的URL,完成自动跳转。 •缺点:吞吐率限制 •优点:不需要任何额外支持 •适用场景:我们需要权衡转移请求的开销和处理实际请求的开销,前者相对于后者越小,那么重定向的意义就越大,例如下载。你可以去很多镜像下载网站试下,会发现基本下载都使用了Location做了重定向。

DNS负载均衡

  • DNS 负责提供域名解析服务,当访问某个站点时,实际上首先需要通过该站点域名的DNS服务器来获取域名指向的IP地址,在这一过程中,DNS服务器完成了域名到IP地址的映射,同样,这样映射也可以是一对多的,这时候,DNS服务器便充当了负载均衡调度器。
  • 使用命令:dig google.cn查看DNS的配置.
  • DNS服务器可以在所有可用的A记录中寻找离用记最近的一台服务器。
  • 缺点: DNS记录缓存更新不及时、策略的局限性、不能做健康检查 。
  • 优点:可以寻找最近的服务器,加快请求速度。
  • 适用场景:一般我们在多机房部署的时候,可以使用。

下面命令表示google的一个域名使用了4个ip。

反向代理负载均衡

  • 在用户的请求到达反向代理服务器时(已经到达网站机房),由反向代理服务器根据算法转发到具体的服务器。常用的apache,nginx都可以充当反向代理服务器。反向代理的调度器扮演的是用户和实际服务器中间人的角色
  • 工作在HTTP层(七层) 。
  • 缺点:代理服务器成为性能的瓶颈,特别是一次上传大文件。
  • 优点:配置简单、策略丰富、维持用户会话、可根据访问路径做转发。
  • 适用场景:请求量不高的,简单负载均衡。后端开销较大的应用。

代理:如蓝灯翻墙软件,将服务器请求发到外网去,链接外网 。局域网访问外面。

反向代理:把外部请求访问到内部服务器。类似中间人的角色。

IP负载均衡

  • 工作在传输层(四层)
  • 通过操作系统内黑修改发送来的IP数据包,将数据包的目标地址修改为内部实际服务器地址,从而实现请求的转发,做到负载均衡。lvs的nat模式。
  • 缺点:所有数据进出还是要过负载机器,网络带宽成为瓶颈。
  • 优点:内核完成转发,性能高。
  • 适用场景:对性能要求高,但对带宽要求不高的的应用。视频和下载等大带宽的应用,并不适合使用。

数据链路层的负载均衡

  • 工作在数据链路层(二层)
  • 在请求到达负载均衡器后,通过配置所有集群机器的虚拟ip和负载均衡器相同,再通过修改请求的mac地址,从而做到请求的转发。与IP负载均衡不一样的是,当请求访问完服务器之后,直接返回客户。而无需再经过负载均衡器。 LVS DR(Direct Routing)模式。
  • 缺点:配置复杂
  • 优点:由集群机器直接返回,提高了出口带宽。
  • 适用场景:大型网站使用最广的一种负载均衡方法。

Add a Comment

电子邮件地址不会被公开。 必填项已用*标注