负载均衡是什么?
负载均衡建立在现有网络结构之上,它提供了一种廉价有效透明的方法扩展网络设备和服务器的带宽、增加吞吐量、加强网络数据处理能力、提高网络的灵活性和可用性。
负载均衡(Load Balance)其意思就是分摊到多个操作单元上进行执行,例如Web服务器、FTP服务器、企业关键应用服务器和其它关键任务服务器等,从而共同完成工作任务。
为什么要做负载均衡
- 服务器总是崩溃怎么办?
- 一台服务器扛不住大量的并发怎么办?
- ……
有了这些问题,我相信你一定会用得到这个技术。最让人高兴的一点是:只需要你懂点nginx的配置就能完美的驾驭负载均衡的配置,至于配置之后可能出现的问题,再慢慢去研究也不迟。
架构图

从上图可以看出,我们利用负载均衡可以很好的应对并发请求过高的情况,使每一台服务器发挥最大的效用。
负载均衡的实现方式
轮询(rr) :按时间顺序逐一分配到不同的后端服务器(默认);
权重(weight):加权轮询(wrr)。weight值越大,分配到的访问率越高;
源IP地址hash调度方法(ip_hash):将每个请求按访问IP的hash值来分配,来自同一个IP固定访问一个后端服务器;
最少连接数(least_conn):当server拥有不同的权重时为wlc,当所有后端主机;连接数相同时,则使用wrr,适用于长连接(keepalive_timeout不为0);
实战配置
准备三台服务器:(1)192.168.133.128(调度器)(2)192.168.133.129(服务器1)(3)192.168.133.130(服务器2)
在调度服务器中配置:
1 | upstream 192.168.133.128{ |
其他服务器server_name都配置成自己的IP就行。在各自的服务Html里命名,加以区分。
测试

Gitalking ...