Nginx 基础架构
来源:互联网 发布:app微信支付php服务端 编辑:程序博客网 时间:2024/06/05 15:29
Web服务器设计中的关键约束
- 性能
- 网络性能
- 单次请求的延迟性
- 网络效率
- 可伸缩性
- 简单性
- 可修改性
- 可见性
- 可移植性
- 可靠性
Nginx 的架构设计
- 模块化设计
高度模块化设计时Nginx 的架构基础。除了少量的核心代码,其他一切皆为模块。
特点:- 高度抽象的模块接口
- 模块接口非常简单,具有很高的灵活性
- 配置模块的设计
- 核心模块接口的简单化
- 多层次、多类别的模块设计
事件驱动架构
由一些事件发生源来产生事件,由一个或者多个事件收集器来收集、分发事件,然后许多事件处理器会注册自己感兴趣的事件,同时会“消费”这些事件。请求的多阶段异步处理
请求的多阶段异步处理 只能 基于 事件驱动架构实现。
把一个请求的处理过程按照事件的触发方式分为多个阶段,每个阶段都可以由事件收集、分发器来触发。- 管理进程、多工作进程设计
Nginx 采用一个master管理进程、多个worker工作进程的设计方式。
这种设计的优点:- 利用多核系统的并发处理能力
- 负载均衡
- 管理进程会负责监控工作进程的状态,并负责管理其行为
平台无关的代码实现
C语言实现,尽量减少使用与操作系统平台相关的代码。
Nginx重新封装了日志、各种基础数据结构、常用算法等工具软件。
核心代码使用与操作系统无关的代码实现,与操作系统相关的系统调用则非别针对各个操作系统有独立的实现。内存池的设计
把多次向系统申请内存的操作整合成一次,大大减少了CPU资源的消耗,同时减少了内存碎片。使用 统一管道过滤器模式的HTTP过滤模块
其他一些用户模块
Nginx 框架中的核心结构体 ngx_cycle_t
0 0
- Nginx 基础架构
- nginx基础架构
- Nginx基础架构设计
- nginx架构与基础概念
- Nginx学习之五-nginx基础架构设计
- Nginx学习之五-nginx基础架构设计
- Nginx架构
- nginx架构
- nginx 架构
- nginx架构
- Nginx架构
- 企业级Nginx服务基础到架构优化详解--25条
- nginx基础
- nginx基础
- Nginx基础
- Nginx基础
- nginx 基础
- Nginx基础
- [python]循环中的else子句
- CNN训练Cifar-10技巧
- 详细解析浏览器加载网页的整个过程
- 使用U盘安装Ubuntu
- 生成第二个窗口并改变窗口大小。
- Nginx 基础架构
- Java关键字
- Unity3D研究院之通过C#使用Advanced CSharp Messenger
- JAVA爬虫WebCollector 2.x入门教程——基本概念
- Oracle_字符集基础知识
- 68个面试技巧(任何职业均适用)
- .NET学习(六)siteMap和导航栏控件
- 上传本地项目到github
- response.setHeader各种用法