Java总结
文章目录
- - - -中间件- - -
- 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可用作静态文件的缓存服务器,提高访问速度。
3.2 事件驱动架构
3.2.1 IO模型
1. IO请求两步骤(读)
内核查看数据是否就绪
数据拷贝(磁盘->内核缓冲区->用户缓冲区)
2. IO分类及其原理
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仍可以处理其他客户端请求。
3.3 可预见式进程模型
Nginx启动后,包含一个master进程和多个worker进程,其结构如下图,worker进程数量一般配置为内核数量。
master进程功能包括接收信号,向worker进程发信号,监控worker进程状态,重启worker进程等;worker进程功能为处理基本的网络事件。
4 MongoDB
你好
Java总结
文章目录
- - - -中间件- - -
- 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可用作静态文件的缓存服务器,提高访问速度。
3.2 事件驱动架构
3.2.1 IO模型
1. IO请求两步骤(读)
内核查看数据是否就绪
数据拷贝(磁盘->内核缓冲区->用户缓冲区)
2. IO分类及其原理
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仍可以处理其他客户端请求。
3.3 可预见式进程模型
Nginx启动后,包含一个master进程和多个worker进程,其结构如下图,worker进程数量一般配置为内核数量。
master进程功能包括接收信号,向worker进程发信号,监控worker进程状态,重启worker进程等;worker进程功能为处理基本的网络事件。
4 MongoDB
你好