轻量级服务器nginx:负载均衡

news2024/11/26 12:44:21

负载均衡就是让每个设备,以同样的概率,处理用户对于服务器的任务请求,默认采用的负载调度策略就是轮流询问,Nginx作为反向代理服务器安装在服务端,Nginx的功能就是把请求转发给后面的应用服务器.

这里写目录标题

  • 一 负载均衡的原理
  • 二 负载均衡配置失误的问题
    • 1.发现错误
    • 2.重走一遍流程
      • 2.1 开启虚拟机,连xhsell
      • 2.2 启动tomcat
      • 2.3 启动nginx
  • 三 nginx其他面试常问概念
    • 3.1多路复用模型
    • 3.2动静分离理念

一 负载均衡的原理

在这里插入图片描述
引入负载均衡技术可带来的收益:

「系统的高可用:」 当某个节点宕机后可以迅速将流量转移至其他节点。
「系统的高性能:」 多台服务器共同对外提供服务,为整个系统提供了更高规模的吞吐。
「系统的拓展性:」 当业务再次出现增长或萎靡时,可再加入/减少节点,灵活伸缩。

调度策略,和操作系统里的处理机调度非常的像,有轮询负载调度和权重负载调度,此外还有一些策略,翻翻操作系统吧。

配置这个nginx服务器里conf目录下的nginx文件

upstream xyt3{
server 192.168.80.121:8081;
server 192.168.80.121:8080;

}
	
	server {
        listen       80;
        server_name  www.xyt3.com;
        location / {
            proxy_pass  http://xyt3;
            index  index.html;
        }
       
    }
    

到windows的etc目录下寻找hosts文件进行配置
追加

192.168.80.121 www.xyt1.com
192.168.80.121 www.xyt2.com
192.168.80.121 www.xyt3.com
./nginx -s reload

二 负载均衡配置失误的问题

1.发现错误

这个图按照负载均衡的原理应该会变化,毕竟负载均衡就是一个服务器的跳转问题,但是实际上一点变化都没有,因此必然是配置出现了问题

在这里插入图片描述

2.重走一遍流程

2.1 开启虚拟机,连xhsell

declare -x MAIL="/var/spool/mail/root"
declare -x OLDPWD
declare -x PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin"
declare -x PWD="/root"
declare -x SELINUX_LEVEL_REQUESTED=""
declare -x SELINUX_ROLE_REQUESTED=""
declare -x SELINUX_USE_CURRENT_RANGE=""
declare -x SHELL="/bin/bash"
declare -x SHLVL="1"
declare -x SSH_CLIENT="192.168.80.1 63320 22"
declare -x SSH_CONNECTION="192.168.80.1 63320 192.168.80.121 22"
declare -x SSH_TTY="/dev/pts/1"
declare -x TERM="xterm"
declare -x USER="root"
declare -x XDG_RUNTIME_DIR="/run/user/0"
declare -x XDG_SESSION_ID="18"
[root@localhost ~]# ps
   PID TTY          TIME CMD
  5219 pts/1    00:00:00 bash
  5238 pts/1    00:00:00 ps

2.2 启动tomcat

自己温习一下toncat

2.3 启动nginx

三 nginx其他面试常问概念

3.1多路复用模型

Nginx与Redis相同,都是基于多路复用模型构建出的产物,因此它与Redis同样具备 「「资源占用少、并发支持高」」 的特点,在理论上单节点的Nginx同时支持5W并发连接,而实际生产环境中,硬件基础到位再结合简单调优后确实能达到该数值。

3.2动静分离理念

当浏览器输入www.taobao.com访问淘宝首页时,打开开发者调试工具可以很明显的看到,首页加载会出现100+的请求数,而正常项目开发时,静态资源一般会放入到resources/static/目录下:
在项目上线部署时,这些静态资源会一起打成包,那此时思考一个问题:「「假设淘宝也是这样干的,那么首页加载时的请求最终会去到哪儿被处理?」」 答案毋庸置疑,首页100+的所有请求都会来到部署WEB服务的机器处理,那则代表着一个客户端请求淘宝首页,就会对后端服务器造成100+的并发请求。毫无疑问,这对于后端服务器的压力是尤为巨大的。
既然有这么多请求属于静态的,这些资源大概率情况下,长时间也不会出现变动,那为何还要让这些请求到后端再处理呢?能不能在此之前就提前处理掉?当然OK,因此经过分析之后能够明确一点:「「做了动静分离之后,至少能够让后端服务减少一半以上的并发量。」」 到此时大家应该明白了动静分离能够带来的性能收益究竟有多大

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

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

相关文章

差分优化算法——DE

🍎道阻且长,行则将至。🍓 目录 一、DE1.步骤2.特点 二、DE Optimiza1.函数最小值问题2.差分进化算法求解2.Java 实现与结果绘图 一、DE 差分进化算法是一种基于群体智能的优化算法,由Storn和Price于1995年提出,最早用…

vue3+ts开发微信小程序----使用FontAwesome图标的步骤(只适用于面性图标)

vue3ts开发微信小程序----使用FontAwesome图标的步骤(只适用于面性图标) 因为用的vue3ts 但是对于npm引进FontAwesome来说,好像对于小程序不支持,所以用了引入文件的方式。 下载FontAwesome字体,我用的是5版本的。[官方…

从初识RabbitMQ到安装了解

一、同步和异步通讯 微服务间通讯有同步和异步两种方式: 同步通讯:就像打电话,需要实时响应。 异步通讯:就像发邮件,不需要马上回复。 两种方式各有优劣,打电话可以立即得到响应,但是你却不…

记 SAM React Demo 转 Vue 遇到的一些问题

前言 SegmentAnything Model (SAM) 是 Meta 开源的分割万物 AI 模型,因笔者主要使用 Vue,因此对官方 Demo 进行了工程迁移工作,这里记录了迁移过程遇到的一些问题。 没有使用多线程加速 官方的 React Demo 项目使用ort-wasm-simd-threaded…

态路小课堂丨浅谈IDC数据中心综合布线互联

在数据中心发展过程中,服务器、光模块等设备更新周期短,迭代快。但是,对于IDC数据中心综合布线系统来说,其使用周期一般都比较长。因此,为了能够匹配IDC数据中心的发展,关于综合布线的设计尤为重要。 目前&…

【vue】elementUI中el-table拖动滚动条的时候固定某一列

文章目录 前言:需求 前言: 写项目的时候有一个需求,就是当el-table的滚动条滑动的时候,可见区域如果没有该列则固定到左侧,由elementUi官方网站可知el-table固定一列的代码如下: fixed为主要的标识 头部固定设置的是t…

leetcode 2336. Smallest Number in Infinite Set(有限集中的最小数字)

实现一个SmallestInfiniteSet类(后面用set简称),满足以下功能: 初始化时,set含有所有的正整数。 pop函数返回set中最小的整数。 add函数在set中添加一个整数。 思路: set具有以下的功能: 可以取出最小的数字。 可以查…

FPGA入门系列13--异步串口通信

文章简介 本系列文章主要针对FPGA初学者编写,包括FPGA的模块书写、基础语法、状态机、RAM、UART、SPI、VGA、以及功能验证等。将每一个知识点作为一个章节进行讲解,旨在更快速的提升初学者在FPGA开发方面的能力,每一个章节中都有针对性的代码…

Baklib如何帮助企业设计并维护FAQ页面?

作为现代企业的一部分,客户支持服务是为客户提供解决方案、回答问题和解决技术难题的关键部分。而其中最重要的一个基本工具是FAQ页面(Frequently Asked Questions),它可以有效地减轻客户支持压力和提高工作效率。然而&#xff0c…

Linux——进度条与git的使用

目录 main.c Makefile process.c \r process.h 进度条的演示动图 git的使用 在gitee上创建一个仓库 复制HTTPS到xshell git clone .gitignore ​编辑 git add git commit -m 这里写日志信息 git push sudo yum -y install git git log git status git mv / …

vue2之echarts的封装 折线图,饼图,大图

目录 vue2之echarts的封装 折线图,饼图,大图折线图,饼图chartPan.vue使用 chartPan.vue 之饼图效果使用 chartPan.vue 之折线图效果展开大图大图组件 maxChart.vue大图效果 vue2之echarts的封装 折线图,饼图,大图 折线…

视觉回归测试—UI自动化的最后1分钟

视觉回归测试是一种验证应用GUI是否正确地展示给用户的操作。测试目标是找出应用在可视化上存在的软件缺陷,例如,字体、布局和渲染问题。这使得所发现的软件缺陷可在被最终用户看到前得到修正。此外,视觉测试可用于验证页面的内容&#xff0c…

车道线检测

前言 目前,车道线检测技术已经相当成熟,主要应用在自动驾驶、智能交通等领域。下面列举一些当下最流行的车道线检测方法: 基于图像处理的车道线检测方法。该方法是通过图像处理技术从摄像头传回的图像中提取车道线信息的一种方法&#xff0c…

【AI工具 收藏】

文章目录 miniGPT4:chatGPT,支持图片哔哔终结者 BibiGPT:自动总结视频内容Scribble Diffusion:草图绘画ChatGPT Shortcut:prompt提示词其他 博客总结的工具: miniGPT4:chatGPT,支持图…

ROS2下机械手的手眼标定

最近发现老是有人通过爬虫把文章爬去他们网站,因此先发一遍这个草稿,让他们先爬。爬完我再慢慢修改 0.前期准备 0.1机械手要先映射(标定好)世界坐标系与用户坐标系 这个基本应该可以通过机械手自带的坐标系建立完成 一般机械手…

若依代码生成器的使用方式

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、代码生成器是什么?二、使用步骤1.菜单目录2.子菜单3.代码生成的方式 总结 前言 提示:这里可以添加本文要记录的大概内容&#xff1…

符合业务目标的数据战略建设

我们都知道,战略是通往目的的手段,是企业取得最佳商业成果的方法。处于当今的数字化社会,企业需要满足实现数字化转型及数字社会的需求,提升企业数据资产价值,推动行业甚至社会面的数据流通及数据价值变现。因此企业更…

【数据结构与算法】二、线性表的顺序表示【硬核】

文章目录 二、线性表2.1 线性表的定义和特点2.2 线性表的顺序表示和实现2.3 类C语言有关操作补充2.4 线性表基本操作的实现2.4.1 线性表的基本操作:2.4.2 线性表L的初始化2.4.3 销毁和清空线性表L2.4.4 求线性表L的长度以及判断线性表L是否为空2.4.5 顺序表的取值&a…

Docker --- Docker-Compose、镜像仓库

一、Docker-Compose Docker Compose可以基于Compose文件帮我们快速的部署分布式应用,而无需手动一个个创建和运行容器! 1.1、初识DockerCompose Compose文件是一个文本文件,通过指令定义集群中的每个容器如何运行。格式如下: v…

手术机器人企业密集IPO 国产替代寻求突破

原创 | 文 BFT机器人 2023年或为手术机器人国产化元年,谁将成为中国的“达芬奇”?各路资本对中国手术机器人产业热情高涨。 今年以来,多家手术机器人企业启动首次公开发行(IPO)进程,精锋医疗冲刺港股&#…