Web服务器设计中的关键约束
Nginx 的架构设计
事件驱动架构
由一些事件发生源来产生事件,由一个或者多个事件收集器来收集、分发事件,然后许多事件处理器会注册自己感兴趣的事件,同时会“消费”这些事件。
请求的多阶段异步处理
请求的多阶段异步处理 只能 基于 事件驱动架构实现。
把一个请求的处理过程按照事件的触发方式分为多个阶段,每个阶段都可以由事件收集、分发器来触发。
平台无关的代码实现
C语言实现,尽量减少使用与操作系统平台相关的代码。
Nginx重新封装了日志、各种基础数据结构、常用算法等工具软件。
核心代码使用与操作系统无关的代码实现,与操作系统相关的系统调用则非别针对各个操作系统有独立的实现。
内存池的设计
把多次向系统申请内存的操作整合成一次,大大减少了CPU资源的消耗,同时减少了内存碎片。
使用 统一管道过滤器模式的HTTP过滤模块
其他一些用户模块
Nginx 框架中的核心结构体 ngx_cycle_t
以上就介绍了Nginx 基础架构,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。