Nginx的负载均衡

news2025/1/16 15:39:13

Nginx不仅可以作为一个web服务器或反向代理服务器,还可以按照权重、轮询、ip_hash、URL_hash等多种方式实现对后端服务器的负载均衡。

负载均衡的概念:

负载均衡就是将负载分摊到多个操作单元上执行,从而提高服务的可用性和相应速度,带给用户更好的体验。

负载均衡服务器会根据具体的配置进行不同的分配。通过负载均衡,可以将一台服务器的工作扩展到多台服务器中执行,提高了整个网站的负载能力。

负载均衡的配置:

通过Nginx中的upstream指令可以实现负载均衡。在该指令中能够配置负载服务器组。

目前负载均衡有四种典型的配置方式:轮询方式、权重方式、ip_hash方式、以及利用第三方模块的方式。

配置方式说明
轮询方式每个请求按照时间顺序逐一分配到不同的后端服务器进行处理,如果有服务器宕机,会自动删除。
权重方式利用weight指定轮询的权重比率,与访问率成正比,用于后端服务器性能不均的情况。
ip_hash方式每个请求按访问IP的hash结果分配,这样可以使每个访客固定访问一个后端服务器,可以解决session共享的问题。
第三方模块第三方模块如果采用fair时候,按照每台服务器的响应时间来分配请求,响应时间短的优先分配;如果第三方模块采用url_hash时,按照访问url的hash值来分配请求。

在upstream指定的服务器组中,若每个服务器的权重都设置为1,表示当前的负载均衡是一般的轮询方式。

Nginx本身不包含第三方模块的实现方式,如fair或者url_hash等,在使用的时候必须下载对应的upstream_fair模块或者安装hash软件包。才可以实现第三方模块提供的负载均衡。

1、一般轮询负载均衡:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/387453.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

数据仓库、数据中台、数据湖都是什么?

相信很多人都在最近的招聘市场上看到过招聘要求里提到了数据仓库、数据中台,甚至还有数据湖,这些层出不穷的概念让人困扰。今天我就来跟大家讲一讲数据仓库、数据中台以及数据湖的概念及区别。 数据库 在了解数据仓库、数据中台以及数据湖之前&#xff…

JDBC

JDBC核心技术 讲师:宋红康 微博:尚硅谷-宋红康 第1章:JDBC概述 1.1 数据的持久化 持久化(persistence):把数据保存到可掉电式存储设备中以供之后使用。大多数情况下,特别是企业级应用,数据持久化意味着将内…

【java web篇】Tomcat的基本使用

📋 个人简介 💖 作者简介:大家好,我是阿牛,全栈领域优质创作者。😜📝 个人主页:馆主阿牛🔥🎉 支持我:点赞👍收藏⭐️留言&#x1f4d…

ceph介绍、原理、架构、算法...个人学习记录

前言 之前公司安排出差支援非结构化项目,采用springcloud(redismysql数据冷热处理)s3escephkafka还涉及一些区块链技术等等…,在与大佬的沟通交流下对ceph产生了兴趣,私下学习记录一下;后续工作之余会采用上面相关技术栈手动实现不…

Python模块化编程_Python编程之路

之前跟大家讲的是一些python的数据基础,从这篇文章开始,我们开始正式学习python的模块化编程 下面我们解释一下什么叫做模块 之前已经讲过怎么去定义一个方法,如果你是用python交互器(自带交互器,或者是ipython)来学习定义方法的…

4 通道 3.2GSPS(2 通道 6.4GSPS) 12 位 AD 采集子卡模块

FMC134 是一款 4 通道 3.2GSPS(或者配置成 2 通道 6.4GSPS) 采样率的 12 位 AD 采集 FMC子卡模块,该板卡为 FMC标准,符 合 VITA57.4 规范,可以作为一个理想的 IO 模块耦合至 FPGA 前端, 射频模拟信号数字化…

c语言经典例题-循环结构程序设计

(创作不易,感谢有你,你的支持,就是我前行的最大动力,如果看完对你有帮助,请留下您的足迹) 求各位数字之积: 本关任务:计算正整数num的各位上的数字之积。 例如: 输入&am…

Elasticsearch:构建自动补全功能 - Autocomplete

什么是自动补全(autocomplete)功能呢?我们举一个很常见的例子。 每当你去谷歌并开始打字时,就会出现一个下拉列表,其中列出了建议。 这些建议与查询相关并帮助用户完成查询。 Autocomplete 正如维基百科所说的&#xf…

vulnhub raven2复现

1.扫描全网段,找出了存活主机ip为192.168.85.144 nmap 192.168.85.0/24 2.nmap扫描端口 nmap -p1-65535 192.168.85.144 3.访问此网站,没找到什么地方可以利用漏洞 ,查看中间件为wordpress 4.使用dirb对该网站进行目录扫描 dirb http://1…

刷题笔记3 | 203. 移除链表元素、707设计链表,206.反转链表

目录 203. 移除链表元素 707、设计链表 206.反转链表 203. 移除链表元素 题意:删除链表中等于给定值 val 的所有节点。 示例 1: 输入:head [1,2,6,3,4,5,6], val 6 输出:[1,2,3,4,5] 示例 2: 输入:h…

18跨越语言:不同语言间进行RPC通信

在最开始介绍gRPC时我们讲到,gRPC具有灵活的兼容性,可以支持很多种编程语言,下面我们就使用在后端领域最常用的两种编程语言Go和Java,来体验一下gRPC在不同语言的项目间是如何进行通信的。 逻辑架构 由上图我们可以看出,Go语言设计gRPC的服务端,Java语言设计gRPC的客户端…

欢迎来到 BharatBox,这是一个以来自印度的知名艺术家和品牌为特色的文化元宇宙中心

通过 Brinc 的客户 Heftyverse 娱乐公司,将印度艺术家、电影制片厂、体育品牌和音乐公司聚集在这个全新虚拟中心。 The Sandbox 与 Brinc 的联营公司推出 BharatBox,这是一个全新的文化中心,由来自印度的娱乐、艺术和体育范畴的主要合作伙伴组…

吴恩达监督机器学习:回归和分类(一)

文章目录机器学习简介机器学习是什么quiz监督学习回归问题分类问题quiz无监督学习聚类问题quiz练习测试:监督学习与无监督学习线性回归线性回归模型第一部分基本术语线性回归模型第二部分quiz选学实验:线性回归模型代价函数公式quiz代价函数的直观理解qu…

SpringBoot+Seata在多数据源和feign中的简单使用

SpringBootSeata简单使用 目录seata执行过程安装seata下载seata使用自定义配置文件,NACOS为注册中心结合springboot实现AT模式1.多数据源引入依赖bootstrap.yml配置在使用的方法上用GlobalTransactional注解调用接口正常时调用接口报错时回滚2.配合feignseata优缺点seata执行过…

「并发编程实战」接口幂等性设计的最佳实现(8种实现方案)

「并发编程实战」接口幂等性设计的最佳实现(8种实现方案) 文章参考: 实战!聊聊幂等设计 基于幂等表思想的幂等实践 追忆四年前:一段关于我被外企CTO用登录注册吊打的不堪往事 弹力设计篇之“幂等性设计” 一、什么是幂…

【Spark分布式内存计算框架——Structured Streaming】2. Structured Streaming 核心设计与编程模型

核心设计 2016年,Spark在2.0版本中推出了结构化流处理的模块Structured Streaming,核心设计如下: 第一点:Input and Output(输入和输出) Structured Streaming 内置了很多 connector 来保证 input 数据源…

永春堂1300系统开发|解析永春堂1300模式商城的五大奖项

电商平台竞争越来越激烈,各种营销方式也是层出不穷,其中永春堂1300营销模式,以其无泡沫和自驱动性强等特点风靡一时。在这套模式中,虽然单型价格差异较大,但各种奖励的设计,巧妙的兼顾了平台和所有会员的利…

【C语言】float 关键字

🚩write in front🚩 🔎大家好,我是謓泽,希望你看完之后,能对你有所帮助,不足请指正!共同学习交流🔎 🏅2021|2022年度博客之星物联网与嵌入式开发TOP5|TOP4…

编程课的PPT

编程课 第一讲 主讲: 郝老师 一 什么是程序? 二 程序能做什么? 三 程序的那些事 一 什么是程序? 计算机程序是一组计算机能识别和执行的指令 一 什么是程序? “计算机程序是一组计算机能识别和执行的指令”上面的这句话是啥意思呢…

【Java|golang】1487. 保证文件名唯一---golang中string方法的坑

给你一个长度为 n 的字符串数组 names 。你将会在文件系统中创建 n 个文件夹:在第 i 分钟,新建名为 names[i] 的文件夹。 由于两个文件 不能 共享相同的文件名,因此如果新建文件夹使用的文件名已经被占用,系统会以 (k) 的形式为新…