Nginx框架

1.Nginx HTTP框架综述

   hander:直接处理客户端的请求,产生响应,是最常用的模块//请求处理

   filter:  对hander产生的数据各种加工过滤处理//请求处理

   upstream: 实现反向代理功能,转发请求到上游的服务器,从后端获取响应载发回客户端//请求转发

   load-balance:不直接处理数据,而是现象负载均衡算法,从upstream的配置里选择一个合适的上游服务器//请求转发

    开发:请求处理    配置信息类,业务逻辑类,模块集成类

   请求结构体

   请求转发机制:实现了九个回调函数  初始化 设置连接参数,启动连接,处理数据

  负载均衡机制:轮询、ip散列、一致性散列

  ngx_http_upstream_module

2 Nginx HTTP子请求

   之前只能处理单一的请求,只能完成一件任务。子请求机制能够把服务器里的location变成一个个函数调用,使用子请求可以组合这些拉擦体内,完成复杂的业务逻辑。设计思想是分而治之。

3 Nginx有特殊的变量机制,核心是两个结构体

4 Nginx 进程机制 使用onemaster、multiworks的进程模式运行,一个负责管理监控,worker负责对外网络服务,不仅充分利用了CPU,也很好保证了服务的稳定。

5 Nginx 事件机制 可以理解为一种通知机制

 基本系统调用

  socket 系统调用

epoll 系统调用

Nginx用代表事件,连接,监听端口,数据收发接口和事件处理接口,并在ngx_cycle_t里整合了连接池,事件池和监听端口数组,构成了Nginx事件机制的运行基础。

Nginx 多线程机制,基于linux专有的系统调用eventfd(),它创建一个特殊的虚文件描述符,可以被epoll监控,没有它就无法实现多线程与事件机制的结合。

Nginx stream机制,支持限速,访问控制,反向代理,ssl等常用的功能,灵活组合现有的模块可以搭建出一个完善的TCP/IP服务器。处理原始的字节流

猜你喜欢

转载自blog.csdn.net/qiuyumin430/article/details/80034909