写点什么

常见的负载均衡实现方案

用户头像
幸福小子
关注
发布于: 2020 年 11 月 22 日

常见的负载均衡实现方案:


1. HTTP 重定向负载均衡;

直接 302 跳转,页面浏览器需要两次请求才能完成一次访问,浏览器的访问地址会变化

2.DNS 域名解析负载均衡

一个域名对应多个 A 地址,每个 A 地址对应一个后端负载均衡服务器 IP,大型互联网企业采用的第一级负载均衡即 DNS 域名解析负载均衡。

优点:负载均衡交由 DNS,省掉了管理负载均衡服务器的麻烦,同时可以利用 DNS 的基于地址位置的域名解析,给用户提供最优的解析方案,即解析到距离用户最近的服务器地址,提高用户的访问速度;

缺点:当下线某台机器,即使修改 DNS 的 A 记录,其生效需要较长时间,此时 DNS 依然会把域名解析到已下线的服务器,导致用户访问失败;

3.反向代理负载均衡

常见采用 nginx 反向代理+负载均衡,此类方案适用于小型的互联网负载均衡场景,一般对应应用服务器几台-几十台,不适合大型互联网应用(几百-上万台服务器),转发 http 请求比较慢,反向代理服务器是所有请求和响应的中转站,其性能可能会成为瓶颈。

4. IP 负载均衡



负载均衡服务器接收到客户端的 tcp/ip 请求,基于底层数据包,修改数据包来源地址为负载均衡服务器 IP,修改目标地址改为应用服务器的地址,应用服务器响应数据包时需要修改数据包源地址为应用服务器地址,目标地址为客户端访问地址;

此种负载均衡方式在内核进程中完成数据分发,比反向代理负载均衡有更好的处理性能,但由于所以的请求响应都需要经过负载均衡服务器,集群的最大响应数据吞吐量受制于负载均衡服务器的网卡带宽,不适用于提供下载服务或视频,语音等需要传输大量数据的网站。

5.数据链路层负载均衡


 

指在通信协议的数据链路层修改 mac 地址进行负载均衡,通过配置真实物理服务器集群所有机器虚拟 IP 和负载均衡服务器 IP 一致,从而达到不修改数据包源地址和目的地址就可以进行数据分发的目的,由于实际处理请求的真实物理服务器 IP 和数据请求目的的 IP 一致,不需要通过负载均衡服务器进行地址转换,可将响应数据包直接返回用户浏览器,避免负载均衡服务器网卡带宽成为瓶颈。

链路层负载均衡是目前大型网站使用最广的一种负载均衡方式,其中 linux 平台上最好 de 链路层负载均衡开源产品是 LVS;

用户头像

幸福小子

关注

还未添加个人签名 2018.11.08 加入

还未添加个人简介

评论

发布
暂无评论
常见的负载均衡实现方案