Nginx常用知识梳理(四)——upstream实现负载均衡

2024-06-09 06:48

本文主要是介绍Nginx常用知识梳理(四)——upstream实现负载均衡,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

nginx实现负载均衡配置

1、http节点下,加入upstream节点

2、将server节点下的location节点中的proxy_pass配置为: http:// + upstream名称

如,

http {

        upstream linuxidc{

                   server 10.0.0.10:8080;

                   server 10.0.0.11:8080;

        }

       server {

                  location / {

                           proxy_pass  http://linuxidc;

                  }

        }

}

===upstream分配策略

       a. 轮询(默认)   每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。

                  upstream linuxidc{

                         server 10.0.0.10:8080;

                         server 10.0.0.11:8080;

                  }

       b. weight(权重)  指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况。

                 upstream linuxidc {

                        server 10.0.0.77 weight=5;

                        server 10.0.0.88 weight-10;

                 }

       c. ip_hash    每一个请求按访问ip的hash结果分配,这样每一个访客固定访问一个后端服务器,能够解决session问题。

                upstream linuxidc {

                         ip_hash;

                         server 10.0.0.10:8080;

                         server 10.0.0.11:8080;

               }

       d. fair  按后端服务器的响应时间,响应时间短的优先分配

               upstream linuxidc {

                         fair;

                         server 10.0.0.10:8080;

                         server 10.0.0.11:8080;

              }

        e. least_conn 请求会被转发到连接数最少的服务器上

              upstream linuxidc {

                         least_conn;

                         server 10.0.0.10:8080;

                         server 10.0.0.11:8080;

               }

     ===upstream 为每个设备设置状态值

             down 表示当前的server临时不参与负载

             backup 标记该服务器为备用服务器,当主服务器停止时,请求会被发送过来。

             max_fails 设置在fail_timeout参数设置的时间内最大失败次数,如果在这个时间内,所有针对该服务器的请求都失败                                      了, 那么认为该服务器会被认为是停机了。

             fail_time  服务器会被认为停机的时间长度,默认为10s。

这篇关于Nginx常用知识梳理(四)——upstream实现负载均衡的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1044463

相关文章

python使用Akshare与Streamlit实现股票估值分析教程(图文代码)

《python使用Akshare与Streamlit实现股票估值分析教程(图文代码)》入职测试中的一道题,要求:从Akshare下载某一个股票近十年的财务报表包括,资产负债表,利润表,现金流量表,保存... 目录一、前言二、核心知识点梳理1、Akshare数据获取2、Pandas数据处理3、Matplotl

分布式锁在Spring Boot应用中的实现过程

《分布式锁在SpringBoot应用中的实现过程》文章介绍在SpringBoot中通过自定义Lock注解、LockAspect切面和RedisLockUtils工具类实现分布式锁,确保多实例并发操作... 目录Lock注解LockASPect切面RedisLockUtils工具类总结在现代微服务架构中,分布

Java使用Thumbnailator库实现图片处理与压缩功能

《Java使用Thumbnailator库实现图片处理与压缩功能》Thumbnailator是高性能Java图像处理库,支持缩放、旋转、水印添加、裁剪及格式转换,提供易用API和性能优化,适合Web应... 目录1. 图片处理库Thumbnailator介绍2. 基本和指定大小图片缩放功能2.1 图片缩放的

Python使用Tenacity一行代码实现自动重试详解

《Python使用Tenacity一行代码实现自动重试详解》tenacity是一个专为Python设计的通用重试库,它的核心理念就是用简单、清晰的方式,为任何可能失败的操作添加重试能力,下面我们就来看... 目录一切始于一个简单的 API 调用Tenacity 入门:一行代码实现优雅重试精细控制:让重试按我

MySQL常用字符串函数示例和场景介绍

《MySQL常用字符串函数示例和场景介绍》MySQL提供了丰富的字符串函数帮助我们高效地对字符串进行处理、转换和分析,本文我将全面且深入地介绍MySQL常用的字符串函数,并结合具体示例和场景,帮你熟练... 目录一、字符串函数概述1.1 字符串函数的作用1.2 字符串函数分类二、字符串长度与统计函数2.1

Redis客户端连接机制的实现方案

《Redis客户端连接机制的实现方案》本文主要介绍了Redis客户端连接机制的实现方案,包括事件驱动模型、非阻塞I/O处理、连接池应用及配置优化,具有一定的参考价值,感兴趣的可以了解一下... 目录1. Redis连接模型概述2. 连接建立过程详解2.1 连php接初始化流程2.2 关键配置参数3. 最大连

Python实现网格交易策略的过程

《Python实现网格交易策略的过程》本文讲解Python网格交易策略,利用ccxt获取加密货币数据及backtrader回测,通过设定网格节点,低买高卖获利,适合震荡行情,下面跟我一起看看我们的第一... 网格交易是一种经典的量化交易策略,其核心思想是在价格上下预设多个“网格”,当价格触发特定网格时执行买

MySQL 内存使用率常用分析语句

《MySQL内存使用率常用分析语句》用户整理了MySQL内存占用过高的分析方法,涵盖操作系统层确认及数据库层bufferpool、内存模块差值、线程状态、performance_schema性能数据... 目录一、 OS层二、 DB层1. 全局情况2. 内存占js用详情最近连续遇到mysql内存占用过高导致

python设置环境变量路径实现过程

《python设置环境变量路径实现过程》本文介绍设置Python路径的多种方法:临时设置(Windows用`set`,Linux/macOS用`export`)、永久设置(系统属性或shell配置文件... 目录设置python路径的方法临时设置环境变量(适用于当前会话)永久设置环境变量(Windows系统

深度解析Nginx日志分析与499状态码问题解决

《深度解析Nginx日志分析与499状态码问题解决》在Web服务器运维和性能优化过程中,Nginx日志是排查问题的重要依据,本文将围绕Nginx日志分析、499状态码的成因、排查方法及解决方案展开讨论... 目录前言1. Nginx日志基础1.1 Nginx日志存放位置1.2 Nginx日志格式2. 499