一. ” Swoole 为什么比较难学习”
二. 并发与并行 Concurrency & Parallelism
并发(concurrency),⼜称共行性,是指能处理多个同时性活动
的能力,并发事件之间不一定要同一时刻发生。
并行(parallelism),是指同时发生的两个并发事件,具有并发的
含义,⽽并发则不一定并行。
三. 今天⼀共完成了5项工作,是并发还是并行?思考
四. 同步与异步 Synchronize & Asynchronous
• 同步:发送⽅发出数据后,等接收方发回响应以后才发下一个数据包的通讯方式。
• 异步:发送方发出数据后,不等接收方发回响应,接着发送下个数据包的通讯⽅式。
• 关注完成任务时的消息通知方式
五. 阻塞与非阻塞 Block & Unblock
• 阻塞:阻塞调用是指调用结果返回之前,当前线程会被挂起。函数只有在得到结果之后才会返回
• ⾮阻塞:⾮阻塞和阻塞的概念相对应,指在不能⽴刻得到结果之前,该函数不会阻塞当前线程,⽽会立刻返回。
同步阻塞I/O
最常用的一个模型是同步阻塞 I/O 模型。在这个模型中,⽤户空间的应用程序执行⼀个系统调用,这会导致应用程序阻塞。这意味着应用程序会一直阻塞,直到系统调用完成为止(数据传输完成或发生错误)。调⽤应⽤程序处于一种不再消费 CPU 而只是简单等待响应的状态,因此从处理的角度来看,这是⾮常有效的。
同步非阻塞I/O
⾮阻塞的实现是 I/O 命令可能并不会立即满足,需要应用程序调用许多次来等待操作完成。这可能效率不高,因为在很多情况下,当内核执⾏这个命令时,应用程序必须要进行忙碌等待,直到数据可用为止,或者试图执行其他工作。正如下图所示的一样,这个⽅法可以引入 I/O 操作的延时,因为数据在内核中变为可用到用户调用read返回数据之间存在一定的间隔,这会导致整体数据吞吐量的降低。
异步阻塞I/O
异步非阻塞I/O
六. Nginx 多进程
• 进程模型
• 进程控制
• 进程通讯
• Daemon守护进程
七. NGINX+PHP
通⽤网关接口CGI Common Gateway Interface
命令⾏界面CLI Command Line Interface
快速通⽤⽹关接口 Fast CGI Fast Common Gateway Interface
PHP-FPM PHP Fast Common Gateway Interface Process Manager
Nginx PHP-FPM MySQL
八. APACHE +PHP
“最早的服务器端程序一般都是 Accept 一个客户端连接就创建⼀个进程,然后子进程进入循环同步阻塞地与客户端连接进行交互,收发处理数据。”
多进程/多线程同步阻塞
OSI模型 与TCP模型
3次连接,4次断开
九. Swoole多进程架构
Swoole TCP Server
十. Swoole与传统框架的结合
Lumen+Swoole “先启动Swoole 后启动应用框架”
十一. 远程过程调用 Remote Procedure Call
相关文章
本站已关闭游客评论,请登录或者注册后再评论吧~