什么是负载均衡(LB)
常规的软件部署:
单机部署:
用户请求直接打到服务器上面。比如说一些常见的管理系统,部署在tomcat里面。此时并发请求不是很多基本没什么问题。此时用户只需需要记住一个IP地址即可访问。
多机部署:
一个应用部署在多个服务器上面,目的就是请求如果很多的话,多个服务器同时提供服务,单机的并发请求量就会减少。这种场景就是典型的负载均衡。但是多机部署,用户如何访问?
由于是多机部署,存在多个IP,这样用户访问就会出现,使用那个IP访问,用户自己决定,但是这样明显不合适,所以就需要单独放置一台负载均衡器,用户只需要服务负载均衡器即可。
负载均衡器的IP我们称之为VIP。
名字解释:
流量:
用户的请求我们称之为流量,如果一个网站的每天的访问量很大,我们就说流量很大。
负载均衡:
将流量均匀的分散到多个应用服务器上面。
VIP:
负载均衡器的IP我们称之为VIP,而它后端的服务器的IP我们称之为:RIP。
VIP与RIP:
VIP和RIP是一对多的关系,就是一个VIP后面挂载多个RIP。
IDC:
多机房,在部署应用的时候,一般为了容灾,都是多个机房部署,每个机房部署一个负载均衡器,后面挂载多个应用服务器。这样的话就存在多个VIP,也每个机房一个VIP。
域名:
一个域名最终会解析成IP地址,这个解析的IP地其实就是负载均衡器的IP,也就是VIP地址,但是多机房部署,一个应用会有多个VIP地址,域名如何解析到一个VIP?、
DNS解析就会按照规则解析出一个访问最快的VIP
切流量:
多机房部署,有时候用户机房的可能会出现问题,此时用户请求提高负载均衡器就会将请求解析到出问题的机房,此时我们就要切换,也就是动态修改负载均衡器后面挂载的RIP。
切流量和高可用的区别:
高可用:一般是对关键节点做的,比如说负载均衡器,而应用服务器数量一般很多,没必要做高可用,如果出现问题,我们之需要告诉负载均衡器不要把请求转发到这台服务器即可。
切流量:就是告诉负载均衡器,不要把请求转发到用户不想转发的RIP应用服务器上面。
目的:
把用户流量均匀的分摊都后端的服务器上面就是负载均衡,所以支持并发tcp连接数越多,内存占用率以及进程占用率越低,同时支持多种负载均衡算法。
所以对于网卡的性能要求很高,因为并发连接是网卡实现的。
总结起来:
用户请求 -- 前端负载均衡---后端服务器
名词解释:
VIP: 前端负载均衡器的IP
RIP:后端服务器的IP地址
IDC:机房(多机房部署)
所以:用户通过域名访问,DNS解析成IP地址,这个IP地址就是负载均衡器的IP,也就是一个VIP,负载均衡器将请求转发的后端服务器IP,进而达到一次完成的请求流程,域名挂载VIP,VIP下面挂载RIP。
===============================================================================================
1.nginx
七层的负载均衡开源解决方案
2.haproxy
四层和七层负载均衡开源方案
3.lvs
四层的负载均衡方案