PHP面试题更新 2026-08-05

请说明 Swoole 中的进程模型,并解释其各自的功能与作用。

系统设计技术原理PHPSwoole

考察说明

考察对 Swoole 多进程架构的理解,以及各进程在请求处理、协程调度和守护中的角色分工。

回答思路

  1. 【回答框架 1】Swoole 的进程模型通常包括 Master 进程、Manager 进程和 Worker 进程。Master 进程负责创建和管理 Reactor 线程,处理网络事件;Manager 进程用于管理 Worker 进程的生命周期,执行 fork 和回收;Worker 进程负责执行业务逻辑,处理来自 Reactor 的请求。
  2. 【回答框架 2】对于常见的 Swoole 服务,还有 Task 进程,专门用于处理耗时任务,异步地向 Worker 投递任务并返回结果;协程调度由 Worker 内的协程调度器完成,实现高并发。
  3. 【回答框架 3】各进程通过进程间通信(如 pipe、共享内存)传递数据,Master 事件驱动,Manager 守护 Worker,Worker 执行 PHP 回调,Task 异步分担耗时操作,从而提升并发和稳定性。
  4. 【关键点 1】Master 进程管理 Reactor 线程,负责网络事件分发。
  5. 【关键点 2】Manager 进程负责 Worker/Task 进程的 fork、重启与回收。
  6. 【关键点 3】Worker 进程执行实际业务逻辑,可按需配置数量。
  7. 【关键点 4】Task 进程异步处理耗时任务,避免阻塞 Worker。
  8. 【关键点 5】进程间通信通过管道或消息队列实现,支持数据传递。
  9. 【易错点 1】不能把所有 Worker 都设置为处理耗时任务,会导致并发能力下降。
  10. 【易错点 2】Task 进程数量过少可能成为瓶颈,需根据任务量调整。
  11. 【易错点 3】忽略 Master 崩溃的防护,可能造成服务不可用。