[Linux] 理解Reactor 模型
2023-02-18 15:37:14 时间
为了提升网络的处理能力 , 出现了I/O多路复用技术
比如常见的 select poll epoll
Reactor 模型就是对上面I/O多路复用的封装
一般常使用如下几个组合使用方式:
单Reactor 单进程/线程
单Reactor 多进程/线程
多Reactor 多进程/线程
单Reactor 单进程/线程:
Redis处理命令请求使用的这个模型 , 单Reactor 单进程
Java虚拟机中使用的单Reactor 单线程
单Reactor 多进程/线程:
我的理解中PHP-FPM使用的是这个 , 单Reactor 多进程 , 主进程Reactor接收连接请求 , 子进程处理每个连接
多Reactor 多进程/线程:
nginx采用的多Reactor , 多进程 , 主进程Reactor接收请求和连接事件
子进程也是Reactor处理连接事件 , 因此每个子进程也能通时处理多个连接
Reactor 模型是同步非阻塞的 , 非阻塞是因为在向内核read数据时 , 不会阻塞住 , 不停的轮询内核直到有数据 , 但是从内核往用户拷贝数据时是同步的 , 需要等着数据拷贝完成
linux下的都是使用的Reactor 模型
windows下使用Proactor 方案 , 是异步非阻塞 , 内核read数据时不会阻塞 , 拷贝数据时也不需要等待 , 拷贝完成会通知进程
相关文章
- 软件分享 | 第四期 Linux远程连接神器获取和安装
- PHP网页简单编写
- c++使用icu国际化(i18n)
- go-cqhttp(电脑机器人搭建)教程
- Linux|安装nginx改造升级版(Tengine)
- Linux用户管理命令
- Linux文件权限与归属
- Linux文件的特殊权限[SUID&SGID&SBIT]
- 在arm上编译php
- 《安富莱嵌入式周报》第296期:硬件电路实现SPI转以太网,单片机3D游戏图形引擎,Linux基金会年度报告,安捷伦直流电源原理图,KEIL C51更新9.61
- 《安富莱嵌入式周报》第297期:开源生物医学成像系统,可肺部成像,C算法合集500例,突出极致运算速度,数值方法书籍,芯片级激光隔离,3D打印机固件Marlin
- 深入浅出理解Linux thermal governor之IPA
- 基于ArgoCD的GitOps转型实战经验
- GitOps: Kubernetes CI/CD 的缺失环节
- Linux网络编程-TCP客户端如何获取要连接的服务端IP?
- 嵌入式Qt-表格使用测试
- PHP常见的几种数据结构
- php-fpm 是如何处理php 请求的
- [linux]执行pip安装的程序:command not found
- [linux]查看linux下端口占用