带你一分钟了解负载均衡

一.为什么需要负载均衡

我们在日常生活中经常免不了要去一些比较拥挤的地方,比如地铁站、火车站电影院、银行等。无论是买票,还是排队入场,这些场所一般都会设置多个服务点或者入口的。如果没有人引导的话,大多数情况下,最近的入口会挤满人。 这种情况下,就会大大浪费資源,因为如果可以把这些排队的人很好的分散到各个入口的话会大大缩短排队时间。其实,网站的建设也是一样的。为了提升网站的服务能力,很多网站采用集群部暑,就像话剧院有多个入口一样。这时候,就需要一个协调者,来均的分配这些用户的请求,可以让用户的可以均匀的分派到不同的服务器上
在这里插入图片描述
我们一般会把多台机器组成一个集群对外提供服务。然而,我们的网站对外提供的访问入口都是一个的,比如www.taobao.com。那么当用户在浏览器输入www.taobao.com的时候如何将用户的请求分发到集群中不同的机器上呢,这就是负載均衡在做的事情

负載均衛( Load Balance),意思是将负載(工作任务,访问请求)进行平衡、分捕到多个操作单元(服务器,组件)上进行执行。是解决高性能,单点故障(高可用),扩展性(水平伸缩)的终极解决方案
在这里插入图片描述

二. 三种负载均衡的介绍

1.第一种HTTP重定向实现负载均衡,就是会有一台中间调度的服务器,我们用户浏览器请求的时候,会发送到这台服务器上面,这台服务器会分配到后台服务器上面去,再由后台服务器之间返回给客户发送请求的浏览器,所以这个会有个弊端,当返回给客户的时候,如果客户在在平台上进行其他操作,再请求的时候就不会经过,调度者服务器,会直接请求到后台服务器,那后台服务器也会有受到压力,还有就是后台服务器,如果报错,调度者服务器,无法及时删除,在用户进行操作的时候会一直返回错误信息

2.第二种,DNS解析,我们将请求的域名通过DNS解析到不同的ip上,然后通过DNS来平均分配给ip对应的服务器,他比HTTP重定向好点地方,可以通过程序动态修改DNS服务器中的域名解析,我们的监控程序发现某台服务器挂了之后,能立即通知DNS将其删掉。

3.第三种:反向代理负载均衡,他也是中间有个调度者服务器,但是他是发送请求到调度者服务器,调度者服务器再分配给,后台服务器,并且记录下来用户的ip地址,和后台服务器的地址,后台服务器处理完之后,返回数据给调度者服务器,调度者服务器再返回给用户

现实项目中推荐使用第三种,他有一下几点优势

1)可以实时监控到后台服务器的状态,如果后台服务器挂了,可以及时删除;

2)可以手动设置,后台服务器的权重,从而决定调度者服务器分配到该后台服务器的权重

3)所以的浏览器都不会与后端服务器接触,从而提高了调度者服务器的控制,提高集群的整体性能

nginx是一款自由的、开源的、高性能的HTTP服务器和反向代理服务器,可用于做负载均衡

发布了94 篇原创文章 · 获赞 1 · 访问量 1760

猜你喜欢

转载自blog.csdn.net/qq_36417677/article/details/104484548