今天我们来学习一下Nginx中的负载均衡可以通过哪几种方式来实现。
首先,我们要来说一下负载均衡是什么?
什么是负载均衡?
负载均衡,是将工作任务进行一定程度的平衡,或者分摊到多个服务上进行任务运行,这里的多个服务可以是不同的web服务,也可以是文件服务等各个业务系统服务。
在原有资源的基础上,其提供了一种性价比强,高效的对原有服务实现高强度、高吞吐量网络服务。
什么时候使用负载均衡?
当系统服务器开始遭遇大量用户量访问,以及业务量剧增时,就会面临着系统卡顿,甚至崩溃,这个时候也就不得不进行系统优化了,而负载均衡就是其中一个系统优化的方案之一,主要是通过负载均衡服务器来将访问量均衡到多个服务之间,给单服务系统释放压力。
轮询模式(默认)
轮询模式是Nginx中默认的负载均衡方式,是Nginx中的每个请求按照访问时间顺序逐一的分配给不同的后端服务,如果其中一个后端服务挂掉了,就会将这个后端服务remove掉。
weight权重模式
给每个后端服务器指定具体的分配权重,也就是说可以根据后端服务器的性能不同来处理不同量级的前端请求。
比起轮询模式,这种模式在真实的系统架构中,会更具有可用性。
ip_hash模式
由名字就可以看出来,这个模式是和ip有关系,ip_hash模式可以将每个请求ip的hash值进行归类,指定ip进行访问指定的后端服务器,这个模式可以很好的解决session的问题。
当然了,除了这三种,还有url_hash(说完了ip_hash,这个就不用讲了吧。)、fair模式等,希望大家有一个简单的了解,以方便在实际情况中用到。