首页 > 系统相关 >nginx是怎么实现高可用的

nginx是怎么实现高可用的

时间:2024-03-15 13:45:44浏览次数:24  
标签:请求 配置文件 可用 实现 worker 扩展性 nginx 多路复用

1、进程池

  nginx在启动的时候会创建有固定数量(此数量在配置文件可配置)的worker即进程池,在之后的运行过程中不会在fork新的worker,并且一一绑定分配好的cpu。(解决了频繁创建和切换进程的成本)

 

2、多阶段

  nginx把整个 Web 服务器分解成了多个“功能模块”,可以在配置文件里任意拼接搭建,从而实现了高度的灵活性和扩展性。这里可以理解为设计模式里的职责链模式,请求进入到worker之后,各个阶段(一共有11个阶段,有兴趣的可以去深入了解哈)有专门的车间来负责。实现了nginx高度的灵活性和扩展性。

 

3、epoll多路复用

  nginx 实现了和http2.0的多路复用一样的模式,把多个请求打包到一个worker里去执行,如果某个请求有堵塞情况,下游资源不会等待其阻塞完毕而是处理其他可执行的请求。

 

标签:请求,配置文件,可用,实现,worker,扩展性,nginx,多路复用
From: https://www.cnblogs.com/x-p-j-a/p/18075224

相关文章

  • STM32F105双路隔离型CAN总线转4G控制板 - 把CAN数据发送到TCP服务器,实现通过TCP透传
    <p><iframename="ifd"src="https://mnifdv.cn/resource/cnblogs/product/STM32F105_2CAN/index.html"frameborder="0"scrolling="auto"width="100%"height="1500"></iframe></p>......
  • leedcode-用队列实现栈
    利用内置的listclassMyStack:def__init__(self):#初始化一个空列表用于存储栈的元素self.li=list()defpush(self,x:int)->None:#向栈中压入元素xself.li.append(x)defpop(self)->int:#从栈顶弹......
  • java实现论文查重
    这个作业属于哪个课程软件工程2024这个作业要求在哪里个人项目个人gitte地址https://gitee.com/zcan86/zcan86PSP2.1PersonalSoftwareProcessStages预估耗时(分钟)实际耗时(分钟)Planning计划6060·Estimate·估计这个任务需要多少时间606......
  • 学会这招,你也能实现微信批量自动加好友
    随着微信好友数量的增加,如何高效添加好友成为了一个值得探讨的话题。尤其是对于销售客服而言,每天手动添加大量的好友,费时又费力。要想解决这个问题,只需要一个能够自动添加好友的宝藏工具——微信管理系统,帮助大家解决这些重复枯燥的工作任务。首先,只需要在系统上批量导入所要......
  • 代码随想录算法训练营第十天| 232. 用栈实现队列 225. 用队列实现栈
    232.用栈实现队列https://leetcode.cn/problems/implement-queue-using-stacks/description/classMyQueue{Stack<Integer>stackIn;Stack<Integer>stackOut;publicMyQueue(){stackIn=newStack<>();stackOut=new......
  • 记录一次 nginx 代理调试 ie7
    worker_processes1;events{worker_connections1024;}http{includemime.types;default_type"text/html;charset=utf-8";sendfileon;keepalive_timeout65;server{listen80;server_namelocalh......
  • 稳定可靠:PW2163降压芯片,实现5V至3.3V/3V高效转换,3A电流稳定输出
    在现代电子设备中,电源管理芯片发挥着至关重要的作用。PW2163作为一款高效稳定的500kHz同步降压DC-DC转换器,凭借其出色的性能和广泛的应用领域,已成为众多电子设备中的电源管理新选择。 一、PW2163的显著特点与优势PW2163具有内部集成低RDS(ON)的主开关和同步开关,这一设计有助于最......
  • 在WinForms中的使用FluentScheduler实现定时任务
     在WinForm程序中使用 FluentScheduler框架实现一个多任务的定时执行功能。 1、使用Nuget安装 FluentScheduler包,默认使用最新稳定版2、以下是实现功能的代码:1usingSystem;2usingSystem.Windows.Forms;3usingFluentScheduler;45publicpartialclas......
  • Java中实现单例(Singleton)模式的八种方式
    单例模式定义单例模式,是一种常用的软件设计模式。在它的核心结构中只包含一个被称为单例的特殊类。通过单例模式可以保证系统中,应用该模式的类一个类只有一个实例。即一个类只有一个对象实例。基本的实现思路单例模式要求类能够有返回对象一个引用(永远是同一个)和一个获得该实......
  • 使用Nginx将大模型Web应用部署到公网
    使用Nginx将大模型Web应用部署到公网大模型训练完毕后,我们可以用SWIFT快速构建一个WebDemo大模型Web应用,本文将介绍如何使用Nginx将大模型Web应用部署到公网。在进行后续步骤之前,先按照搭建一个大模型API服务中的方法安装好SWIFT框架,并激活到你的conda环境。启动大模型Web应用......