Nginx

 Nginx

特点

成本低

 

 几大优势

nginx配置文件更加易懂

nginx支持网站url地址重写(网站需要域名更换),还能够根据url的特点,进行一个请求转发,判断(7层负载均衡

比如判断来自于移动端的请求,发给移动端服务器,判断是来自于pc端流量,用户请求就发给运行着的pc端代码的服务器}

nginx支持高可用性配置(防止单点故障,服务器崩溃),nginx非常稳定,宕机异常退出的几率很小

nginx能够节省网络带宽,支持静态文件压缩后传输,支持gzip压缩功能

nginx还支持热部署,可以在不停止nginx情况下更新代码,支持7*24h运转

 

学习nginx的网络模型

网络IO模型概念

内核空间,用户空间

内核空间:一个操作系统的核心组件,称之为内核,独立于普通的应用程序,可以直接操作底层硬件,

处理系统受保护的区域

 操作系统为了保护系统的核心区域,也就是内核,使得用户无法直接修改系统底层,因此操作系统就开辟

了两块虚拟空间

一是内核空间,二是用户空间

进程切换

为了控制进程的执行,操作系统的内核需要有能力挂起CPU上运行的程序(暂停一个CPU正在处理的进程),
还能恢复之前已经挂起的进程,这种行为称之为进程切换

进程阻塞

正在执行中的进程,由于某些事件的等待,比如资源加载中,资源加载失败,操作系统自动的就会阻塞该进程,

调用内核的block语句,让该进程处于组撒状态,因此阻塞的进程是一种主动的行为。

文件描述

 

 Linux IO模型

input输入

output输出

对于linux的文件读写操作

数据的IO操作,比如文件的读取,数据优先会被拷贝到操作系统的内核缓冲区,然后在缓冲去拷贝到应用程序的内存空间

 

 

 这是属于本地文件的IO过程

一个读取操作,经历了两个阶段

1.等待数据准备

2数据从内核空间拷贝到用户进程空间

网络IO

1.等待网络上的数据分段到达,然后复制到内核的缓冲区

2.数据从内核缓冲区拷贝到用户空间的应用程序

网络应用主要面临两个问题,数据计算,网络IO延迟

网络的延迟,是造成性能低下的最大的原因

 

 网络IO指的就是在网络中进行数据的读,写操作,本质上就是一个socket套接字读取,socket套接字在linux

系统中被抽象为流的概念,网络IO就是对数据流的处理

同步阻塞IO     block   IO

 

 同步非阻塞

 

 同步阻塞和非阻塞的区别

 

 IO多路复用

 

 select事件

select就是做自动轮训的这件事,他和非阻塞轮训的区别在

 

 异步非阻塞IO模型

前几个网络IO模型的总结

 

posted on 2021-07-21 22:38  sprr  阅读(44)  评论(0编辑  收藏  举报