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

news2024/11/26 6:57:11

目录

👋前言

👀一、 负载均衡概述

🌱二、项目模拟

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

        文章到这里就结束了~

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

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

相关文章

如何克隆非默认分支

直接git clone下来的我们知道是默认分支,那如何克隆其他分支呢: 比如这个,我们想克隆AdvNet。 我们可以在本地文件夹打开Git Bash 依次输入: git clone --branch AdvNet https://github.com/wgcban/SemiCD.git cd SemiCD git b…

Monaco-Editor在Vue中使用(实现代码编辑与diff代码比较)--类似vscode代码编辑器

Monaco-Editor 是一个由 Microsoft 开发的 Web 代码编辑器,它是 Visual Studio Code 的浏览器版本。在 Vue 项目中集成 Monaco-Editor 可以提供代码编辑、语法高亮、智能提示等功能 效果: 1、安装使用,最好安装指定版本,我是 vue…

力扣算法之1070. 产品销售分析 III

力扣传送门 题解 选出每个售出过的产品 第一年 销售的 产品 id、年份、数量 和 价格,很明显就是个排序问题 我的解 SELECT product_id,year as first_year,quantity,price FROM ( SELECT sale_id,RANK() OVER(PARTITION BY product_id ORDER BY [year] asc ) A…

Matlab-熵权法

文章目录 熵权法一、模型简介二、例题1. 数据标准化2.指标的熵值和变异程度3.权重与评分4.代码实现 熵权法 提示:这里可以添加本文要记录的大概内容: 例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多…

Docker安装Nginx 并实现通过nginx部署静态网址

Docker镜像就是一个只读的模板,可以用来创建Docker容器。 例如:一个镜像可以包含一个完整的centos操作系统环境,里面仅安装了mysql、nginx等或用户需要的其他应用程序。 Docker提供了一个非常简单的机制来创建镜像或者更新现有的镜像&#…

OpenHarmony Camera源码分析

一、简介 当前,开源在科技进步和产业发展中发挥着越来越重要的作用,OpenAtom OpenHarmony(简称“OpenHarmony”)赋予了开发者孕育创新的种子,也为数字化产业发展开辟了一片土壤。深开鸿是开源的坚定践行者&#xff0c…

开源VS闭源:谁将引领AI大模型的新时代?

一、引言 随着人工智能技术的飞速发展,AI大模型已成为推动这一浪潮的核心动力。在AI大模型的发展过程中,开源与闭源两种不同的发展路径一直备受关注。本文将深入探讨这两种路径的优劣势,分析它们对AI大模型发展的影响,并预测谁将…

Spring中RestTemplate用法

系列文章目录 文章目录 系列文章目录前言 前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站,这篇文章男女通用,看懂了就去分享给你的码吧。 RestTemplate 是从…

redis基本数据结构与应用

文章目录 概要String结构Hash结构List结构Set结构Zset结构bitmap位图类型geo地理位置类型其他常用命令 概要 redis常用的5种不同数据结构类型之间的映射如下: 结构类型结构存储的值结构的读写能力STRING可以是字符串、整数或者浮点数key-value形式;对整…

Python筑基之旅-集合

目录 一、集合 1、集合的定义 2、集合的语法 3、获取集合的属性和方法 4、获取集合的帮助信息 5、集合的用法 5-1、创建集合 5-1-1、创建空集合(必须使用set()函数) 5-1-2、使用花括号创建集合(包含元素) 5-1-3、使用set()函数创建集合(包含元素) 5-1-4、尝试使用花括…

鸿蒙OS开发:【一次开发,多端部署】(app市场首页)项目

一多应用市场首页 介绍 本示例展示了应用市场首页,页面中包括Tab栏、运营横幅、精品应用、精品游戏等。 本示例使用一次开发多端部署中介绍的自适应布局能力和响应式布局能力进行多设备(或多窗口尺寸)适配,保证应用在不同设备或…

【pyspark速成专家】11_Spark性能调优方法2

目录 ​编辑 二,Spark任务UI监控 三,Spark调优案例 二,Spark任务UI监控 Spark任务启动后,可以在浏览器中输入 http://localhost:4040/ 进入到spark web UI 监控界面。 该界面中可以从多个维度以直观的方式非常细粒度地查看Spa…

大数据技术Hbase列数据库——topic1

目录 搭建单机版Hbase验证方法一验证方法二 搭建单机版Hbase 验证方法一 使用 jps 命令查看 HMaster 进程是否启动 首先使用xftp 7上传hbase-2.1.0安装压缩包到虚拟机进行解压缩到某一地址,这里解压缩到了上传的路径即/root/software/ tar -zxvf hbase-2.1.0-bi…

OrangePi AIpro (8T)使用体验,性能测试报告

前言 这段时间收到了CSDN和香橙派的邀请,对OrangePi AIpro进行体验测评,在此感谢CSDN对我的信任,也感谢香橙派能做出如此优秀的开发板。 可喜可贺,周三晚上我收到了官方寄出的OrangePi AIpro。出于对国产芯片的好奇&#xff0c…

苹果与OpenAI合作在即:iOS 18中的ChatGPT引发期待与担忧

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领…

idea的project structure下project [lauguage ]()level 没有java的sdk17选项如何导入

idea的project structure下project lauguage level 没有java的sdk17选项如何导入 别导入了,需要升级idea版本。idea中没有project language level没有17如何添加 - CSDN文库 别听这文章瞎扯淡 2021版本就是没有,直接卸载升级到最新版本就可以了。没办法…

马斯克的 xAI 帝国!60亿融资背后的超级布局?

在全球科技竞技场,每个重大融资事件都是对行业格局的一次重塑。近日,埃隆马斯克的人工智能初创企业 xAI 成功完成了一轮规模空前的融资——60亿美元,此举无疑在业界投下了一枚震撼弹,标志着 AI 领域内一场新的竞赛拉开了序幕。 …

SwiftUI中AppStorage的介绍使用

在Swift中,AppStorage是SwiftUI中引入的一个属性包装器,在这之前我们要存储一些轻量级的数据采用UserDefaults进行存取。而AppStorage用于从UserDefaults中读取值,当值改变时,它会自动重新调用视图的body属性。也就是说&#xff0…

CC1310 Debug interface is locked

XDS110连接CC1310板子,打开Smart RF 弹出窗口如下: 解决办法: 1 打开SmartRF Flash Programmer 2 选择连接的设备CC1310, 弹出如下窗口,点击OK。 3 点击Tools图标,选择CC26XX/CC13XX Forced Mass Erase。 4 在弹出的…

骆驼大赛

目录 一,主版图 二,骰子 三,初始设置 四,核心规则 五,结算 这是适合5-8人玩的一个概率推理类的回合制桌游。 一,主版图 赛道由16个格子组成,编号为1-16。 一共7个骆驼,其中正…