【Nginx <三>⭐️⭐️⭐️】Nginx 负载均衡使用

目录

👋前言

👀一、 负载均衡概述

🌱二、项目模拟

        2.1 环境准备

        2.2 启动多个服务器

        2.3 配置 Nginx 

        2.4  测试配置

💞️三、章末


👋前言

        小伙伴们大家好,前不久开始学习了 Nginx 的使用,在本地安装并且调试了服务器,以及初步学习了 Nginx 的代理功能,接着再来看下 Nginx 的另一大功能-负载均衡,之前的文章连接如下:

【Nginx <二>⭐️⭐️】Nginx 的反向代理使用-CSDN博客

👀一、 负载均衡概述

        负载均衡是指将流量分散到多个服务器上的技术,使得每台服务器都能够有效的处理负载,避免某台服务器过载导致不可用。

        如下简单的例子,比如某网站每天都会有大量用户访问,为了应对这种高流量的情况,可以使用负载均衡技术确保网站的稳定运行,设置一个负载均衡器,位于用户和后端服务器之间,当用户发送请求时,首先到达负载均衡器,负载均衡器根据指定的策略将用户请求分发给后端服务器集群中的某一台,后端服务器处理请求后生成相应数据返回给负载均衡器,负载均衡器将响应返回给用户,大概的流程如下(手拙,见谅):

🌱二、项目模拟

        2.1 环境准备

        需要提前准备好一个可以运行的 Springboot 项目,简单写个接口用来测试请求即可

        本地使用的是上篇文章中创建过的用于反向代理测试的项目,测试接口如下:服务器收到请求后会在控制台打印出当前启动占用的端口号,然后返回成功信息提示

        2.2 启动多个服务器

        本地需要部署多个服务器来模拟集群,通过简单的修改下已有项目启动占用的端口号实现即可

        2.2.1 启动第一台服务器

         比较简单,在配置文件中指定端口号以后,直接启动项目即可,占用的端口号即为配置文件中的端口号,启动后的控制台也会打印出使用的端口号,如下

         2.2.2 配置第二台服务器

        还是使用相同的项目,只不过指定另外一个端口号,步骤如下:

        注:指定端口号的命令如下:端口号可以自定义,但是不能是已经被占用的

-Dserver.port=8082

         2.2.3 启动第二台服务器

        快捷启动栏上选中为刚刚创建的启动类,点击运行即可,结果如下:

        注:本地使用的 services 快捷工具栏配置步骤可以参考这个 up 的文章,这里不做过多赘述,步骤很简单

IDEA显示service服务_idea service-CSDN博客

        

        2.3 配置 Nginx 

        修改 nginx 配置文件,使用 upstream 属性定义负载均衡的后端服务器

        注:修改配置文件保存后需要重新启动 Nginx 服务器

这里的配置内容如下:

        使用了 location 指令来处理所有匹配的请求。通过 proxy_pass 指令,将请求转发给名为 "httpds" 的 upstream 属性,Nginx 将根据其负载均衡策略将请求分发给其中的一台服务器。

        2.4  测试配置

        访问我们暴露出来的接口,多刷新几次,模拟多流量,看下控制台,发现 Nginx 服务器确实将请求打到不同的服务器上了

💞️三、章末

        从最后的结果来看,Nginx 默认的配置下,会将请求均衡的分配到每台服务器上,不止如此,还可以通过修改配置指定 分配优先级,涉及的服务器不可用的话相应的处理方法,备份服务器等等,当然这些就看后面有时间的话再更了。

        文章到这里就结束了~

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

[图解]产品经理创新之阿布思考法

0 00:00:00,000 --> 00:00:01,900 那刚才我们讲到了 1 00:00:02,730 --> 00:00:03,746 业务序列图 2 00:00:03,746 --> 00:00:04,560 然后怎么 3 00:00:05,530 --> 00:00:06,963 画现状,怎么改进 4 00:00:06,963 --> 00:00:09,012 然后改进的模式…

PaddleSeg训练推理及模型转换全流程

文章目录 1、数据准备1.1 数据标注1.2 数据导出1.3 标签较验1.4 数据集整理1.5 标签可视化 2、 模型训练3、模型验证4、模型推理5、模型导出6、导出文件的推理7、将模型转换成onnx8、使用onnx进行推理 本文记录一下使用paddleseg进行语议分割模型对人体进行分割的使用流程。事实…

DTC 2024回顾丨云和恩墨重塑数据库内核技术,革新企业降本增效之道

在数字化浪潮席卷全球的当下,关系型数据库作为市场主导力量的地位依然稳固。然而,面对新兴数据库与服务形态的挑战,以及企业日益强烈的降本增效需求,数据库技术的发展必须紧跟时代步伐,充分发挥资源效能以提升企业竞争…

A股重磅!史上最严减持新规,发布!

此次减持新规被市场视为A股史上最严、最全面的规则,“花式”减持通道被全面“封堵”。 5月24日晚间,证监会正式发布《上市公司股东减持股份管理暂行办法》(以下简称《减持管理办法》)及相关配套规则。 据了解,《减持…

HTTP 错误 404.3 - Not Found 问题处理

问题描述 HTTP 错误 404.3 - Not Found 由于扩展配置问题而无法提供您请求的页面。如果该页面是脚本,请添加处理程序。如果应下载文件,请添加 MIME 映射。 解决对策

【算法】前缀和算法——和可被K整除的子数组

题解:和可被K整除的子数组(前缀和算法) 目录 1.题目2.前置知识2.1同余定理2.2CPP中‘%’的计算方式与数学‘%’的差异 及其 修正2.3题目思路 3.代码示例4.总结 1.题目 题目链接:LINK 2.前置知识 2.1同余定理 注:这里的‘/’代表的是数学…

订单id的设计问题探讨

如何设计一个订单id 设计一个订单ID系统需要考虑多个因素,包括唯一性、排序性(时间顺序)、可读性(可选)以及系统的扩展性和性能。结合这些因素,可以选择不同的方案来生成订单ID。以下是几种常见的订单ID设…

论文阅读--GLIP

把detection和phrase ground(对于给定的sentence,要定位其中提到的全部物体)这两个任务合起来变成统一框架,从而扩展数据来源,因为文本图像对的数据还是很好收集的 目标检测的loss是分类loss定位loss,它与phrase ground的定位los…

内网穿透--Nps-自定义-上线

免责声明:本文仅做技术交流与学习... 目录 Nps项目: 一图通解: 1-下载nps/npc 2-服务端启动 访问web网页: 添加客户端,生成密匙. 3-kali客户端连接服务端 4-添加协议隧道. 5-kali生成后门: 6-kali创建监听: Nps项目: https://github.com/ehang…

《2024年中国机器人行业投融资报告》| 附下载

近年来,国内机器人行业取得了显著的技术进步,包括人工智能、感知技术、自主导航等技术方面的突破,使得机器人能够更好地适应复杂环境和任务需求,带动了机器人行业加快发展。 当然,技术的进步是外在驱动因素&#xff0…

【JAVA基础之网络编程】UDP和TCP协议以及三次握手和四次挥手的过程

🔥作者主页:小林同学的学习笔录 🔥mysql专栏:小林同学的专栏 目录 1. 网络编程 1.1 概述 1.2 网络编程的三要素 1.2.1 IP地址 1.2.2 InetAddress 1.2.3 端口和协议 1.3 UDP协议 1.3.1 UDP发送数据 1.3.2 UDP接收数据 1.4…

Terminal Web终端基础(Web IDE 技术探索 二)

Terminal是web终端技术,类似cmd命令窗口,Webcontainer 中推荐使用的是Xterm.js,这里就不细说Xterm.js 的使用了,我们使用第三方库来实现(原生确实有点难用)。 vue-web-terminal 一个由 Vue 构建的支持多内容…

基础5 探索JAVA图形编程桌面:字符操作组件详解

在繁华都市的一个角落,卧龙和凤雏相聚在他们常去的台球厅。灯光洒在绿色的台球桌上,彩色的台球整齐地排列着,仿佛在等待着一场激烈的角逐。 卧龙轻轻地拿起球杆,微微瞄准,然后用力一击,白球带着一股强大的力…

Vue.js - Vue 的安装 以及 常用的 Vue 指令 【0基础向 Vue 基础学习】

文章目录 Vue 快速上手1、Vue.js 官网 & Vue.js 的获取2、创建 Vue 实例,初始化渲染3、插值表达式 安装 Vue 开发者工具:装插件调试 Vue 应用Vue 指令1、v-show 指令2、v-if3、v-else & v-else-if4、v-onv-on 调用传参 5、v-bindv-bind 对于样式…

类和对象(下篇)(未完结)!

文章目录 在谈构造函数1.构造函数体赋值2.初始化列表尽量使用初始化列表?初始化列表的初始化顺序?成员变量声明处的缺省值构造函数支持类型转换3.explicit关键字 static成员 在谈构造函数 1.构造函数体赋值 class Date{public:Date(int year, int mont…

Python设计模式之适配器模式

目录 一、适配器模式 适配器模式的组成部分 适配器模式的种类 应用场景 实现步骤 二、测试例子 一、适配器模式 适配器模式(Adapter Pattern)是一种结构型设计模式,它通过将一个现有接口转换为另一个期望的接口来让不兼容的接口能够合作…

香港服务器负载过高的原因和应对办法

保持网站正常运行看似简单,但事实上,有许多问题会影响网站和应用程序的性能,并可能导致停机。其中一个问题就是服务器过载。而香港服务器作为一种常见的服务器类型,有时会出现负载过高的情况。为了帮助您确保在香港服务器过载不会…

跨境电商投放Facebook广告推广攻略!

在出海浪潮中,跨境电商已经成为企业连接不同市场、拓展国际业务的重要途径。Facebook,作为全球最大的社交平台之一,拥有超过20亿的活跃用户,为跨境卖家提供了一个无与伦比的营销舞台。有效利用Facebook广告,不仅能帮助…

捕捉二氧化碳也能赚钱?深入探索CCUS技术与商业前景

引言 随着全球变暖和气候变化的加剧,如何有效减少二氧化碳(CO2)排放成为各国亟待解决的问题。近日,全球最大的二氧化碳捕集工厂在冰岛正式运营,这一消息引起了广泛关注。本文将深入探讨捕集二氧化碳技术(C…

海康威视NVR通过ehome协议接入视频监控平台,视频浏览显示3011超时错误的问题解决,即:The request timeout! 【3011】

目录 一、问题描述 二、问题分析 2.1 初步分析 2.2 查看日志 2.3 问题验证 1、查看防火墙 2、查看安全组 3、问题原因 三、问题解决 3.1 防火墙开放相关端口 3.2 安全组增加规则 3.3 测试 1、TCP端口能够联通的情况 2、TCP端口不能够联通的情况 四、验证 五、云…