Nginx架构设计

1、Nginx是高度模块化设计的
2、Nginx模块化设计的特点
(1)高度抽象的模块接口
(2)模块接口非常简单,具有很高的灵活性
(3)配置模块的设计
(4)核心模块接口的简单化
(5)多层次、多类别的模块设计
3、所有模块都遵循同样的ngx_module_t接口设计规范
4、官方Nginx模块共有五大类:核心模块、配置模块、事件模块、HTTP模块,mail模块
5、配置类模块只有一个具体模块:ngx_conf_module,这时Nginx最底层的模块,指导着其它模块以配置项为核心来提供功能,是其它模块的基础。
6、Nginx采用完全的·事件驱动架构来处理业务
7、事件消费者:在事件分发者分发事件时,接收事件并进行处理的模块
8、传统Web服务器的事件消费者是一整个进程,在一个请求产生的事件被处理完成之前,会一直占用整个进程的资源;而nginx的事件消费者是一个模块,当事件分发者分发事件时,分发进程会调用事件相应的模块来进行处理,只要事件分法者不阻塞就能对事件进行高速响应。
9、请求的多阶段异步处理:吧一个请求的处理过程按照事件的触发方式划分为多个阶段,每个阶段都可以由事件收集、分发器处理。
10、Nginx采用一个master管理进程、多个worker进程的设计方式。这种方式带来以下优点:(1)利用多核系统的并发处理能力;(2)负载均衡;(3)管理进程会负责监控工作进程的状态,并负责管理其行为。
11、为了避免出现内存碎片、减少向操作系统申请内存的次数、降低各个模块开发度,Nginx设计了简单的内存池,通常它不负责回收内存池中已经分配的内存。这种内存池最大的优点是:把多次向系统申请内存的操作整合成一次,这大大减少了CPU资源的消耗,同时减少了内存碎片。
12、通常每一个请求都有一个这种简易的独立内存池,而在请求结束时则会销毁整个内存池,把曾经分配好的内存一次性归还给操作系统。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

闲敲代码、落灯花

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值