当前位置: 首页 > news >正文

使用Nginx进行负载均衡

什么是负载均衡

Nginx是一个高性能的开源反向代理服务器,也可以用作负载均衡器。通过Nginx的负载均衡功能,可以将流量分发到多台后端服务器上,实现负载均衡,提高系统的性能、可用性和稳定性。

如下图所示:
在这里插入图片描述

Nginx负载均衡策略

Nginx内置负载均衡主要分为以下种类

轮询

轮询简单理解就是将请求在机器之间进行平均分配,在轮询这种方式中,也有分为两类轮询策略
1、普通轮询
可以理解为各个服务器的权重占比都为1,请求会轮流进入这些服务器
2、权重轮询
在轮询基础上分配服务器的权重占比。比如服务器1配置2,服务器2配置1,那么最终请求分配到两台机器的数量会趋近于服务器1:服务器2=2:1
具体配置方式如下

http {# 普通轮询配置# 定义转发分配规则upstream myapp1 {server srv1.com; # 要转发到的服务器,如ip、ip:端口号、域名、域名:端口号server srv2.com:8088;server 192.168.0.100:8088;}# 权重轮询配置# 定义转发分配规则upstream myapp1 {server srv1.com weight=1; # 该台服务器接受1/6的请求量server srv2.com:8088 weight=2; # 该台服务器接受2/6的请求量server 192.168.0.100:8088 weight=3; # 该台服务器接受3/6的请求量;
}server {listen 80; # nginx监听的端口location / {# 使用myapp1分配规则,即刚自定义添加的upstream节点# 将所有请求转发到myapp1服务器组中配置的某一台服务器上proxy_pass http://myapp1; }}
}

iphash
对客户的请求的IP进行hash操作,根据hash结果将同一个客户端ip的请求分发给同一台服务器进行处理,可以解决session不共享的
这个方法确保了相同的客户端的请求一直发送到相同的服务器,这样每个访客都固定访问一个后端服务器。如用户需要分片上传文件到服务器下,然后再由服务器将分片合并,这时如果用户的请求到达了不同的服务器,那么分片将存储于不同的服务器目录中,导致无法将分片合并,该场景则需要使用ip hash策略。
需要注意的是,ip_hash不能与backup同时使用,另外当有服务器需要剔除,必须手动down掉,此模式适合有状态服务,比如session。
具体配置方式如下:

# 定义转发分配规则
upstream myapp1 {ip_hash; # #保证每个请求固定访问一个后端服务器server srv1.com;server srv2.com:8088;server 192.168.0.100:8088;
}

最少连接
轮询算法是把请求平均的转发给各个后端,使它们的负载大致相同;但是,有些请求占用的时间很长,会导致其所在的后端负载较高。这种情况下,least_conn这种方式就可以达到更好的负载均衡效果,适合请求处理时间长短不一造成服务器过载的情况。
具体配置方式如下:

# 定义转发分配规则
upstream myapp1 {least_conn; # 把请求分派给连接数最少的服务器server srv1.com;server srv2.com:8088;server 192.168.0.100:8088;
}

Nginx安装

具体可以看我之前的一篇文档:Nginx安装以及卸载教程

相关文章:

使用Nginx进行负载均衡

什么是负载均衡 Nginx是一个高性能的开源反向代理服务器,也可以用作负载均衡器。通过Nginx的负载均衡功能,可以将流量分发到多台后端服务器上,实现负载均衡,提高系统的性能、可用性和稳定性。 如下图所示: Nginx负…...

什么护眼台灯效果好?热门护眼台灯全方位测评推荐

台灯可以说是佳佳必备,尤其是家中有正在上学的孩子的更是需要一款好的台灯,不管是看书、写字都离不开台灯。不过很多家长在挑选台灯时往往仅关注到光线亮度是否充足,而忽略掉光线均匀度、舒适度等等方面的问题。所以选择一款优质的护眼台灯是…...

云上三问,迈向智能时代的关键

在今天的中国,第一热词是什么?面对这个问题,“新质生产力”当仁不让,而智能化技术毫无疑问是“新质生产力”最重要的来源之一。 在这样的大势下,大型政企是向新技术要“新质生产力”的时代先锋。云服务,则是…...

【网络安全】手机不幸被远程监控,该如何破解,如何预防?

手机如果不幸被远程监控了,用三招就可以轻松破解,再用三招可以防范于未然。 三招可破解可解除手机被远程监控 1、恢复出厂设置 这一招是手机解决软件故障和系统故障的终极大招。只要点了恢复出厂设置,你手机里后装的各种APP全部将灰飞烟灭…...

每日OJ题_哈希表④_力扣219. 存在重复元素 II

目录 力扣219. 存在重复元素 II 解析代码 力扣219. 存在重复元素 II 219. 存在重复元素 II 难度 简单 给你一个整数数组 nums 和一个整数 k &#xff0c;判断数组中是否存在两个 不同的索引 i 和 j &#xff0c;满足 nums[i] nums[j] 且 abs(i - j) < k 。如果存在&am…...

42.坑王驾到第八期:uniCloud报错

uniCloud 报错 今天调用云函数来调试小程序的时候突然暴了一个奇葩错误&#xff0c;require(…).main is not a function。翻官方文档后发现&#xff0c;原来是这样&#xff1a;**如果你写的是云对象&#xff0c;入口文件应为 index.obj.js&#xff0c;如果你写的是云函数入口…...

Linux常用操作命令

Linux常用操作命令 1.文件管理catfile 2.文档编辑3.文件传输4.磁盘管理5.磁盘维护6.网络通讯7.系统管理8.系统设置9.备份压缩10.设备管理 Linux 英文解释为 Linux is not Unix。 Linux内核最初只是由芬兰人李纳斯托瓦兹&#xff08;Linus Torvalds&#xff09;在赫尔辛基大学上…...

OpenCV的常用数据类型

OpenCV涉及的常用数据类型除包含C的基本数据类型,如&#xff1a;char、uchar&#xff0c;int、unsigned int,short 、long、float、double等数据类型外, 还包含Vec&#xff0c;Point、Scalar、Size、Rect、RotatedRect、Mat等类。C中的基本数据类型不需再做说明下面重点介绍一下…...

STM32串口通信—串口的接收和发送详解

目录 前言&#xff1a; STM32串口通信基础知识&#xff1a; 1&#xff0c;STM32里的串口通信 2&#xff0c;串口的发送和接收 串口发送&#xff1a; 串口接收&#xff1a; 串口在STM32中的配置&#xff1a; 1. RCC开启USART、串口TX/RX所对应的GPIO口 2. 初始化GPIO口 …...

《汇编语言》第3版 (王爽) 第14章

第14章 端口 检测点14.1 &#xff08;1&#xff09;.编程&#xff0c;读取CMOS RAM的2号单元的内容。 mov al,2 ;向al写入2 out 70,al ;将2送入端口70h in al,71 ;从端口71h读取2号单元的内容在CMOS RAM中用6个字节存放当前时间&#xff08;以BCD码形式存放&#xff09;&…...

Axure原型设计项目效果 全国职业院校技能大赛物联网应用开发赛项项目原型设计题目

目录 前言 一、2022年任务书3效果图 二、2022年任务书5效果图 三、2022年国赛正式赛卷 四、2023年国赛第一套样题 五、2023年国赛第二套样题 六、2023年国赛第三套样题 七、2023年国赛第四套样题 八、2023年国赛第七套样题 九、2023年国赛正式赛题&#xff08;第八套…...

力扣串题:字符串中的第一个唯一字母

映射做法&#xff1a;将字母转为数字之类的转化必须在运算中实现如-a int firstUniqChar(char * s){int a[26] {0};int len strlen(s);int i;for (i 0; i < len; i)a[s[i] - a];for (i 0; i < len; i) {if (a[s[i] - a] 1)return i;}return -1; }...

【五、接口自动化测试】GET/POST 请求区别

大家好&#xff0c;我是山茶&#xff0c;一个探索AI 测试的程序员 在网上看到了许多关于post与get之间区别的帖子&#xff0c;也有很多帖子是直接粘贴复制的&#xff0c;甚至连标题、符号都没改&#xff0c;甚至还有很多争议 一、post、get 关于post与get之间区别&#xff0c;…...

HDOJ 2036

改革春风吹满地 Problem Description “ 改革春风吹满地, 不会AC没关系; 实在不行回老家&#xff0c; 还有一亩三分地。 谢谢!&#xff08;乐队奏乐&#xff09;” 话说部分学生心态极好&#xff0c;每天就知道游戏&#xff0c;这次考试如此简单的题目&#xff0c;也是云里雾…...

2.案例、鼠标时间类型、事件对象参数

案例 注册事件 <!-- //disabled默认情况用户不能点击 --><input type"button" value"我已阅读用户协议(5)" disabled><script>// 分析&#xff1a;// 1.修改标签中的文字内容// 2.定时器// 3.修改标签的disabled属性// 4.清除定时器// …...

OPENCV(0-1之0.0)

OPENCV 第1周&#xff1a;基础知识和安装目标内容 第2-3周&#xff1a;图像处理基础目标内容 第4-5周目标内容 第6-7周目标内容 第8周及以后目标内容 时间安排如下&#xff1a; 第1周&#xff1a;基础知识和安装 目标 了解计算机视觉的基本概念&#xff0c;安装OpenCV&#x…...

easyrecovery破解版百度云(含Mac/Win版)以及EasyRecovery可以恢复哪些设备

软件介绍 当不小心将回收站的文件删除了怎么办&#xff1f;想找回但是不知道怎么找回需要的数据文件&#xff1f;别担心今天小编就为大家介绍一款非常专业的电脑数据文件恢复工具&#xff0c;easyrecovery14是由Ontrack专为电脑用户推出的一款专业的数据恢复软件&…...

[2023年]-hadoop面试真题(一)

&#xff08;北京&#xff09;HDFS底层存储原理? (北京) HDFS读写数据流程? (北京) HDFS如何管理元数据或者checkpoint的理解 ? (北京) HDFS常用命令 ? (北京) hadoop调优 (北京) HDFS扩容原理 (北京) HDFS有哪些进程,分别是什么? (北京) HDFS中大量小文件对…...

Kubernetes kafka系列 | k8s部署kafka+zookeepe集群

一、kafka.zookeeper介绍 Kafka 简介&#xff1a; Apache Kafka 是一个开源的分布式流处理平台和消息队列系统。它最初由LinkedIn开发&#xff0c;并于2011年成为Apache软件基金会的顶级项目。 特点&#xff1a; 高吞吐量&#xff1a; Kafka 能够处理大规模的消息流&#xf…...

ip广播智慧工地广播喊话号角 IP网络号角在塔吊中应用 通过寻呼话筒预案广播

ip广播智慧工地广播喊话号角 IP网络号角在塔吊中应用 通过寻呼话筒预案广播 SV-704XT是深圳锐科达电子有限公司的一款壁挂式网络有源号角&#xff0c;具有10/100M以太网接口&#xff0c;可将网络音源通过自带的功放和号角喇叭输出播放&#xff0c;可达到功率50W。SV-704XT内置有…...

RK3588 Opencv-ffmpeg-rkmpp-rkrga编译与测试

RK3588 Opencv-ffmpeg-rkmpp-rkrga编译与测试 硬件背景说明编译环境准备1. 编译MPP(媒体处理平台)2. 编译RGA(图形加速库)3. 构建支持硬件加速的FFmpeg重要代码修改说明4. 验证安装5.FFmpeg转码测试OpenCV编译集成Python OpenCV+FFmpeg测试硬件背景说明 RK3588是瑞芯微推出…...

[9-1] USART串口协议 江协科技学习笔记(13个知识点)

1 2 3 4全双工就是两个数据线&#xff0c;半双工就是一个数据线 5 6 7 8 9 10 TTL&#xff08;Transistor-Transistor Logic&#xff09;电平是一种数字电路中常用的电平标准&#xff0c;它使用晶体管来表示逻辑状态。TTL电平通常指的是5V逻辑电平&#xff0c;其中&#xff1a;…...

QPS 和 TPS 详解

QPS 和 TPS 是性能测试中的两个核心指标&#xff0c;用于衡量系统的吞吐能力&#xff0c;但关注点不同。以下是具体解析&#xff1a; 1. QPS&#xff08;Queries Per Second&#xff09; 定义&#xff1a;每秒查询数&#xff0c;表示系统每秒能处理的请求数量&#xff08;无论…...

Oracle的NVL函数

Oracle的NVL函数是一个常用的空值处理函数&#xff0c;主要用于在查询结果中将NULL值替换为指定的默认值。以下是关于NVL函数的详细说明&#xff1a; ‌基本语法‌ NVL(expr1, expr2) 如果expr1为NULL&#xff0c;则返回expr2如果expr1不为NULL&#xff0c;则返回expr1本身 ‌…...

视觉分析开发范例:Puppeteer截图+计算机视觉动态定位

一、选型背景&#xff1a;传统爬虫已无力应对的视觉挑战 在现代互联网环境中&#xff0c;尤其是小红书、抖音、B站等视觉驱动型平台&#xff0c;传统基于 HTML 的爬虫已经难以满足精准数据采集需求&#xff1a; 内容加载由 JS 动态触发&#xff0c;难以直接解析 HTML&#xf…...

JavaScript性能优化实战的技术文-——仙盟创梦IDE

JavaScript性能优化实战技术文章大纲 性能优化的核心原则 减少代码执行时间降低内存消耗优化网络请求提升用户体验 代码层面的优化 减少全局变量使用&#xff0c;避免命名冲突和内存泄漏使用节流&#xff08;throttle&#xff09;和防抖&#xff08;debounce&#xff09;优…...

用 Trae IDE 打造一个桌面小爬虫:从 PyQt5 开始,轻松采集掘金首页内容

很多程序员都有这样的经历&#xff1a;刷掘金、看文章、找灵感、追热点。但你有没有想过&#xff0c;有一天让“爬虫”代替你去浏览这些内容&#xff1f;自动提取标题、作者、点赞数、评论数&#xff0c;一键生成你的专属“技术热点日报”。 今天我们就用 Trae IDE PyQt5 来完…...

理解 Vue 2 的响应式原理:数据劫持与依赖收集的背后

在Vue2中,响应式系统是一切魔法的源头,无论是模板中的数据绑定,还是computed,watch的精准监听,都离不开Vue背后的响应式机制,本文将从源码角度出发,结合实例,深入剖析vue2是如何通过数据劫持(Object.defineProperty)和依赖收集实现响应式的 一.Vue2响应式系统基本原理 vue2中…...

服务器的IP是什么东西?

一、什么是服务器的IP地址&#xff1f; 服务器的IP地址是互联网协议&#xff08;Internet Protocol&#xff09;的缩写&#xff0c;是服务器在网络中的唯一数字标识符。它类似于现实生活中的门牌号&#xff0c;用于标识服务器在网络中的位置&#xff0c;使其他设备能够通过它与…...

【第4章 图像与视频】4.4 离屏 canvas

文章目录 前言为什么要使用 offscreenCanvas为什么要使用 OffscreenCanvas如何使用 OffscreenCanvas第一种使用方式第二种使用方式 计算时长超过多长时间适合用Web Worker 前言 在 Canvas 开发中&#xff0c;我们经常需要处理复杂的图形和动画&#xff0c;这些操作可能会影响页…...