基于Nginx的负载均衡原理与实战

什么是负载均衡?顾名思义就是让客户端的请求均匀地分布到各个服务器上。

在这里插入图片描述


本文主要讲解以下3个方面介绍Nginx的负载均衡:

负载均衡介绍
Nginx如何实现负载均衡
Nginx负载均衡配置项介绍

在这里插入图片描述


一、负载均衡介绍


什么是负载均衡?

顾名思义就是让客户端的请求均匀地分布到各个服务器上。

从下图可以看出,客户端的请求先到达负载均衡器,由负载均衡器通过一系列算法将请求转发到某台上游的业务服务器上。

在这里插入图片描述


实现负载均衡的方式有很多,下面将列出几种方式,并对比优劣:

硬件层面可以通过F5实现负载均衡,性能优异。F5的底层是在芯片层面做了优化,这样就使得它的性能不依赖主机操作系统的处理能力,但是F5价格高昂,一般小公司用不起

软件层面可以通过LVS来实现负载均衡,这是一款中国人开发的软件。因为是软件层面的负载均衡,性能受到主机运算能力的制约

除了LVS之外,还可以通过Nginx实现负载均衡,为了实现高可用需要和keepalived配合使用,Nginx实现负载均衡也是本文讲解的重点

还可以在DNS层面做负载均衡,在域名解析的时候解析到不同的服务器上。优点是配置简单,非常容易实现,缺点是没有检测机制,不够均衡,容错能力比较差


在这里插入图片描述


二、Nginx如何实现负载均衡


今天我们主要讨论Nginx如何实现负载均衡,Nginx的负载均衡是通过 upstream 来实现的,在 upstream 中指定若干个 server,格式如下:

在这里插入图片描述


myserver 就是通过 upstream 定义的一组负载均衡模板,其中:

在这里插入图片描述


在配置完upstream后,还要让客户端过来的请求反向代理到 myserver,格式如下:

在这里插入图片描述

这样就完成了负载均衡的配置,但是在实际需求中除了上面的设置外,还会增加一些额外设置:

①负载均衡策略设置
②请求上游服务器携带请求头信息
③upstream 模块中其他参数设置


Nginx的负载均衡策略有5种方式:

在这里插入图片描述


三、Nginx负载均衡配置项介绍


下面我们将介绍一下proxy模块的参数:

在这里插入图片描述


各个参数介绍:

在这里插入图片描述



在这里插入图片描述

  • 发表于 2020-08-22 09:36
  • 阅读 ( 151 )
  • 分类:高并发

0 条评论

请先 登录 后评论
阿梓
阿梓

879 篇文章

作家榜 »

  1. 阿梓 879 文章
  2. p270228163 0 文章
  3. 陈洋 0 文章
  4. 维子老师 0 文章
  5. gyy 0 文章
  6. 花橙 0 文章
  7. 朱利海 0 文章
  8. 小熊 0 文章