负载均衡

248 阅读1分钟

image.png

当一个网站架设多台服务器时,以ip的形式重定向进行访问。如果其中一台服务器挂了,前端是无法提前感知的,结果就是连接到了这台挂掉的服务器上。所以此时就需要再服务前面多加一层架构,这就是LB(Load Balance 负载均衡),由LB统一接受前端请求,之后确定与哪个服务器进行通信。一般是用nginx。

image.png

但如果有大量的人来访问这个网站时,服务器不管就很难支撑住。这个时候就需要再服务器前面加一层网关。访问服务器前需要经过网关这一层,网关起到一个筛选的作用,主要是筛选访问用户中的木马或者肉鸡,筛选通过后才转发到服务器中。除此之后网关还有防爬、限流的作用,网关是以集群的方式存在。

Nginx是七层负载均衡器,Nginx的负载能力还与机器的IO、cpu内存有关。当连接非常多的时候,Nginx的抗负载能力就会急速下降。此时就有新需求了,能不能不建立连接就做负载均衡呢?此时LVS就出来了

image.png

LVS是四层负载均衡器转发包不需要和网站还有服务器建立连接,和Nginx相比,它的抗负载能力更强,性能更高,对内存和cpu的消耗比较低,但是LVS在流量很大的情况下也会存在问题,虽然可以多加几台LVS,但是怎么让加的这几个机器能被访问到呢,这个时候就会用到DNS来做域名解析的负载均衡

image.png