前言
这篇文章主要记录下对nginx架构的学习记录。
架构设计
优秀的模块化设计
高度模块化的设计是Nginx的架构基础。在Nginx中,除了少量的核心代码,其他一切皆
为模块。
在这5种模块中,配置模块与核心模块都是与Nginx框架密切相关的,是其他模块的基
础。而事件模块则是HTTP模块和mail模块的基础,原因参见8.2.2节。HTTP模块和mail模块
的“地位”相似,它们都更关注于应用层面。在事件模块中,ngx_event_core_module事件模块
是其他所有事件模块的基础;在HTTP模块中,ngx_http_core_module模块是其他所有HTTP模
块的基础;在mail模块中,ngx_mail_core_module模块是其他所有mail模块的基础。
事件驱动架构
所谓事件驱动架构,简单来说,就是由一些事件发生源来产生事件,由一个或者多个事
件收集器来收集、分发事件,然后许多事件处理器会注册自己感兴趣的事件,同时会“消
费”这些事件。下图为Nginx处理事件的简单模型: