🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
### 概述 随着用户的增多,服务器的压力越来越大,我们需要多台服务器来分担压力.这时候就需要使用到负载均衡,负载均衡可以很好的均吞请求.让整体的服务端吞吐力和请求的性能增加 . 另外对于单点访问,如果服务器宕机,那么服务将无法使用,使用负责均衡后可以增加安全性. ![](https://box.kancloud.cn/52f662f60ef452ed2d947dda4e03fb8a_1155x419.png) ### 分类 区别就是按照影响范围来区分的 #### GSLB GLSB是一个全局负载均衡,它的节点比较庞大,范围比较广.一般都是按照国家或者省为范围来进行全局的负载均衡的 . ![](https://box.kancloud.cn/024f00921dfc79fa874f364c4c5ceac2_1148x463.png) #### SLB 我们平时接触的最多的就是SLB,一般来说它的服务节点和调度节点在同一个地域,所以它对部分服务的实时性和响应性是比较好的. 客户请求调度节点,调度节点把用户的请求转发给后端的服务节点,服务将响应返回给调度节点,调度节点再返回给用户. Nginx就是一个典型的SLB. ![](https://box.kancloud.cn/55ae794b41fbf12c08dbb7855b3a5b81_1111x308.png) #### 分为四层和七层负载均衡 [四层、七层负载均衡的区别 .](https://www.jianshu.com/p/fa937b8e6712) Nginx就是典型的齐增复杂均衡,工作在应用层 . #### Nginx负载均衡原理 Nginx在实现负载均衡就是应用到了proxy_pass.Nginx把所有的客户端的请求通过代理去转发到对应的服务器后台,只是它不是转发到一台,而是一组.一组虚拟的服务池(upstream server) .upstream server里面可以定义所有的服务器的根源.比如里面有服务1,2,3.这三台服务器都可以提供相同的类似的服务.所以把它们放到虚拟的upstream server池中. 在upstream 组里对三台服务器进行请求的轮询.这样所有的用户通过upstream 模块分发到不同的服务器上,达到负载均衡. ![](https://box.kancloud.cn/224519420bcc4bd7ec159ed22aac9d39_1138x510.png)