文章目录

  • - - -中间件- - -
  • 1 Redis
  • 2 MongDB
  • 3 Nginx
  • 3.1 概述
  • 3.1 正向代理&反向代理
  • 3.2 Nginx的作用
  • 3.2 事件驱动架构
  • 3.2.1 IO模型
  • 3.2.2 多路复用器
  • 3.2.3 Nginx事件驱动架构
  • 3.3 可预见式进程模型
  • 4 MongoDB


- - -中间件- - -

1 Redis

  直接输入

2 MongDB

  你好

3 Nginx

3.1 概述

3.1 正向代理&反向代理

1. 正向代理
定义:正向代理用来代理客户端
作用:
  ① 访问原来无法访问的资源;
  ② 用作缓存,加速访问速度;
  ③ 对客户端访问授权,上网进行认证;
  ④ 代理可以记录用户访问记录(上网行为管理),对外隐藏用户信息。
2. 反向代理
定义:反向代理用来代理服务端
作用:
  ① 保护内网安全;
  ② 负载均衡;
  ③ 缓存,减少服务器的压力。

3.2 Nginx的作用

  ① 反向代理,将多台服务器代理成一台服务器;

  ② 负载均衡,将多个请求分配到多台服务器上,减轻单台服务器压力,提高服务吞吐量;

  ③ 动静分离,nginx可用作静态文件的缓存服务器,提高访问速度。

nginx中间件定期备份 nginx中间件是什么_Nginx

3.2 事件驱动架构

3.2.1 IO模型

1. IO请求两步骤(读)

  内核查看数据是否就绪

  数据拷贝(磁盘->内核缓冲区->用户缓冲区)

2. IO分类及其原理

nginx中间件定期备份 nginx中间件是什么_Nginx_02

3.2.2 多路复用器

  多路复用器有三种模式select、poll、epoll,三种模式的优缺点如下表。

select

poll

epoll

操作方式

轮询

轮询

回调

就绪队列

数组

链表

链表

IO效率

调用方式为线性遍历,复杂度为O(n)

调用方式为线性遍历,复杂度为O(n)

事件通知方式,若fd就绪,系统注册的回调函被调用,复杂度O(1)

3.2.3 Nginx事件驱动架构

  Nginx采用epoll模型,实现异步非阻塞的事件处理机制。如下图,当多个client请求worker1,假设client1请求阻塞,由于异步非阻塞机制,worker1仍可以处理其他客户端请求。

nginx中间件定期备份 nginx中间件是什么_java_03

3.3 可预见式进程模型

  Nginx启动后,包含一个master进程和多个worker进程,其结构如下图,worker进程数量一般配置为内核数量。

  master进程功能包括接收信号,向worker进程发信号,监控worker进程状态,重启worker进程等;worker进程功能为处理基本的网络事件。

nginx中间件定期备份 nginx中间件是什么_Nginx_04

4 MongoDB

  你好