《一起学》系列10:Nginx入门

Nginx入门

Nginx架构设计

Nginx采用了高度模块化的设计,这些模块的接口非常简单灵活,具有良好的扩展性和可重用性。官方Nginx共有五大类型的模块:
核心模块、配置模块、事件模块、HTTP模块、mail模块。

事件驱动架构

Nginx采用完全的事件驱动架构来处理业务,这与传统的Web服务器(如Apache)是不同的。传统Web服务器中,每个请求从连接建立
到连接关闭,都需要始终占用系统资源(一般情况下是一个请求对应着一个进程或线程),有可能在这段时间内连接是空闲的,导致CPU、内存被浪费,影响并发连接数。
Nginx则和传统Web服务器不同,它不会使用进程或者线程来作为事件消费者,而是使用Nginx的模块。Nginx中,只有事件收集、分发器才有
资格占用进程资源。

传统Web服务器与Nginx间的重要差别:前者是每个事件消费者占一个进程资源,后者的事件消费者只是
被时间分发者进程短期调用而已。这种设计使得网络性能、响应时间都得到提升。
**但是,这会带来一个重要的弊端,即每个事件消费者都不能有阻塞行为,否则将会导致长时间占用时间分发者进程而导致
其他事件得不到及时响应。**
尤其是每个事件消费者不可以让进程转变为休眠状态或者等待状态,例如等待一个信号量。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值