广告
返回顶部
首页 > 资讯 > 前端开发 > node.js >Nginx负载均衡配置有哪些误区
  • 893
分享到

Nginx负载均衡配置有哪些误区

2024-04-02 19:04:59 893人浏览 薄情痞子
摘要

这篇文章主要讲解了“Nginx负载均衡配置有哪些误区”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Nginx负载均衡配置有哪些误区”吧!之前有很多朋友问关于

这篇文章主要讲解了“Nginx负载均衡配置有哪些误区”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Nginx负载均衡配置有哪些误区”吧!

之前有很多朋友问关于 Nginx 的 upstream 模块中 max_fails 及 fail_timeout,这两个指令,分别是配置关于负载均衡过程中,对于上游(后端)服务器的失败尝试次数和不可用时间,很多人不是很理解这两个参数到底怎么用及具体的含义。

先看官网文档中的描述

Nginx负载均衡配置有哪些误区

官网文档中解释 max_fails 是指在 fail_timeout 配置的时间内,服务器通信失败的次数,默认为1,即在 fail_timeout 时间内,1次请求失败即不再尝试,将请求根据 hash 规则,转发到下一个上游服务

fail_timeout 有两种含义:

  • 当已经确认上游服务不可用时,是指与上游服务器通信失败次数的时间

  • 服务器不可用的时间段

默认是10s

文字不是很好理解,搭建个实验环境,环境如下:

  • Nginx

  • PHP-FPM(x2)

nginx 通过 fast-cgi 将 php 请求转发到 PHP-FPM,这里 PHP-FPM 服务即上游服务,设置 upstream,负载 PHP-FPM

Nginx负载均衡配置有哪些误区

upstream 按照默认配置,即 max_fails=1,fail_timeout=10

现在通过 tailf 分别监听两个 PHP-FPM 日志

Nginx负载均衡配置有哪些误区

请求4次,因为是默认轮询的,所以可以看时间,轮询将请求分发到两个PHP-FPM上游

可以从上面的日志中看到,按照轮询规则,下次请求应该落到 PHP-FPM2 上面,接着,关掉 PHP-FPM1,继续请求

Nginx负载均衡配置有哪些误区

可以看到,PHP-FPM1肯定是不响应了,PHP-FPM2正常响应,接着看下Nginx日志

Nginx负载均衡配置有哪些误区

可以看到,关掉 PHP-FPM1 后,发起的请求,本来第二次请求(17:49:58)应该分发到 PHP-FPM1 的,然后从 Nginx 错误日志可以看到,连接 PHP-FPM1 失败,这里只做了一次失败尝试,然后 Nginx 将请求转发到 PHP-FPM2 处理了。

接着将 max_fails 设置为2,继续上面的请求

Nginx负载均衡配置有哪些误区

开启 PHP-FPM1,继续请求,两个负载轮询转发请求

Nginx负载均衡配置有哪些误区

接着继续关掉 PHP-FPM1,连续发起多次请求,查看日志

Nginx负载均衡配置有哪些误区

所有请求都在 PHP-FPM2上,看 Nginx 错误日志

Nginx负载均衡配置有哪些误区

两次轮询到PHP-FPM1的时候,失败,之后不会再将请求分发到 PHP-FPM1 上游服务

接着,不开启 PHP-FPM1,继续发起多次请求,由于默认的 fail_timeout=10,所以在上面的失败检测 10s 之后再次发起请求,查看日志

Nginx负载均衡配置有哪些误区

继续分发到 PHP-FPM2,接着看 Nginx 错误日志

可以看到,过了 fail_timeout 的时间后,Ngxin 会再次将请求发往 FPM-PHP1 进行尝试,尝试2次失败后,在 fail_timeout 时间内,不会再将请求分发,

这里有几个误区:

  • Nginx 记录了连接上游失败,这个请求就返回错误请求,或这个请求丢失没处理

这个理解是错误的,Nginx 只是记录了失败的请求到日志,并将这个请求又转发到了可用的其他上游服务,知道所有上游都不可用时,才会返回错误状态

  • max_fails 是指连续请求失败的次数

max_fails 是在 fail_timeout 指定的时间内的失败次数,请求还是按照配置的负载均衡算法来走,并不是第一次请求失败之后,继续将这个请求在尝试一次,达到失败次数之后,标记为不可用

  • fail_timeout 越短越好

当访问量大的时候,fail_timeout 设置太短,会导致不断的尝试与不可用上游的连接,耗费大量的 tcp 资源进行连接

  • fail_timeout 越长越好

当访问量大的时候,fail_timeout设置太长,会导致负载不均衡,有可能会击穿某个上游后端,达不到负载的效果。

感谢各位的阅读,以上就是“Nginx负载均衡配置有哪些误区”的内容了,经过本文的学习后,相信大家对Nginx负载均衡配置有哪些误区这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!

--结束END--

本文标题: Nginx负载均衡配置有哪些误区

本文链接: https://www.lsjlt.com/news/72530.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Nginx负载均衡配置有哪些误区
    这篇文章主要讲解了“Nginx负载均衡配置有哪些误区”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Nginx负载均衡配置有哪些误区”吧!之前有很多朋友问关于...
    99+
    2022-10-19
  • nginx负载均衡配置哪些参数
    nginx负载均衡配置参数有:1、upstream配置,在http配置下增加即可;2、权重配置,用来解决上游服务器配置不均衡的情况;3、ip_hash配置,使每一个请求按照请求ip的hash结进行分配;4、fair配置,按上游服务器的响应时...
    99+
    2022-10-07
  • Nginx负载均衡的配置
    这篇文章主要讲解了“Nginx负载均衡的配置”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Nginx负载均衡的配置”吧!1.简单了解Nginx负载均衡【lo...
    99+
    2022-10-18
  • nginx负载均衡如何配置
    要配置nginx负载均衡,您可以按照以下步骤进行操作:1. 安装nginx:首先,您需要在服务器上安装nginx。您可以通过执行以下...
    99+
    2023-09-02
    nginx 负载均衡
  • 怎么配置Nginx负载均衡
    本篇内容主要讲解“怎么配置Nginx负载均衡”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么配置Nginx负载均衡”吧!user nobody;&n...
    99+
    2022-10-19
  • nginx怎么配置负载均衡
    要配置Nginx的负载均衡,可以按照以下步骤进行操作:1. 安装Nginx:首先确保已经安装了Nginx,可以通过apt-get或者...
    99+
    2023-09-07
    负载均衡 nginx
  • nginx负载均衡怎么配置
    这篇文章主要介绍“nginx负载均衡怎么配置”,在日常操作中,相信很多人在nginx负载均衡怎么配置问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”nginx负载均衡怎么配置”的疑惑有所帮助!接下来,请跟着小编...
    99+
    2023-06-27
  • nginx负载均衡策略有哪些
    nginx负载均衡策略有:1、轮询调度方式,RR算法策略;2、weight权重方式策略;3、ip_hash基于客户端IP的分配方式;4、least_conn,把请求转发给连接数较少的后端服务器;5、第三方策略,实现需要安装第三方插件。具体内...
    99+
    2022-10-22
  • nginx负载均衡参数有哪些
    nginx负载均衡参数有以下几个:1. upstream:定义一个后端服务器组,用于负载均衡。可以通过ip地址、主机名、域名等方式指...
    99+
    2023-09-06
    nginx 负载均衡
  • Nginx怎么配置TCP负载均衡
    本文小编为大家详细介绍“Nginx怎么配置TCP负载均衡”,内容详细,步骤清晰,细节处理妥当,希望这篇“Nginx怎么配置TCP负载均衡”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。假设Kubernetes集群已...
    99+
    2023-06-27
  • nginx的负载均衡怎么配置
    要配置NGINX的负载均衡,可以按照以下步骤:1. 安装NGINX:首先需要在服务器上安装NGINX。可以使用操作系统的包管理器进行...
    99+
    2023-09-02
    nginx 负载均衡
  • nginx负载均衡的缺点有哪些
    nginx负载均衡的缺点包括:1. 单点故障:如果使用单个Nginx服务器进行负载均衡,那么这个服务器本身可能成为瓶颈,一旦发生故障...
    99+
    2023-09-07
    负载均衡 nginx
  • nginx负载均衡的方式有哪些
    Nginx负载均衡的方式有以下几种:1. 轮询(Round Robin):每一次请求按照服务器的顺序依次分配到不同的后端服务器。2....
    99+
    2023-08-24
    nginx
  • nginx七层负载均衡配置详解
    目录一、负载均衡介绍二、nginx下载安装1、下载nginx源码包2、安装并启用三、nginx七层负载均衡配置real server设置:客户端设置:四、nginx扩充调度算法(sticky)1.下载扩展包2.编译前做一些优化:3.重新编译...
    99+
    2022-09-23
  • Nginx配置Tcp负载均衡的方法
    本文使用Nginx作为代理服务器,用来做负载均衡。只是一个简单的应用示例,并不涉及原理。 (这里主机有限,42.192.22.128主机8000端口用来做代理服务器监听端口,818...
    99+
    2022-11-13
  • Nginx stream 配置代理(Nginx TCP/UDP 负载均衡)
    前奏 我们都知道 nginx 是一款优秀的反向代理服务,用过 nginx 的也应该都知道 upstream,upstream 节点一般置于 http 节点大括号中,常规在 upst...
    99+
    2022-11-12
  • Nginx负载均衡策略选择与配置
    一、引言在构建高可用的web应用程序时,负载均衡是一个重要的部分。负载均衡可以分发用户请求到后端的多个服务器上,实现资源的合理利用,提高系统的可用性和性能。Nginx是一个功能强大的反向代理服务器,具有高效的负载均衡特性。本文将介绍如何选择...
    99+
    2023-10-21
    配置 nginx 负载均衡
  • Centos7上如何配置nginx的负载均衡
    Centos7上如何配置nginx的负载均衡,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。 Centos7上配置nginx的负载均衡 ...
    99+
    2022-10-19
  • Nginx四层负载均衡的配置指南
    一、四层负载均衡介绍 什么是四层负载均衡 所谓四层负载均衡,也就是主要通过报文中的目标地址和端口,再加上负载均衡设备设置的服务器选择方式,决定最终选择的内部服务器。 以常见的TCP...
    99+
    2022-11-12
  • 超级详细的nginx负载均衡配置
    目录前言实验准备实验步骤其他负载均衡配置策略总结前言 nginx作为一款企业级的代理服务器,不管是大中小各类生产项目中,均有广泛的使用,尤其是在前后端分离的项目中,nginx作为路由...
    99+
    2022-11-13
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作