PHP经验分享PHP实战MixPHP 碎片学习

MixPHP V2.1 为何从 Reactor+Manager+

2019-11-22  本文已影响0人  撸代码的乡下人

Mix V2.1 之前的版本一直采用与现在主流的 Swoole 框架一样基于多进程 Swoole\Server 开发,V2.1 开始 Mix 全部基于 Swoole 的 Coroutine/Server 开发 (单线程协程),让 Server 也可使用完全同步的编程方式,底层自动实现异步IO。

Reactor+Manager+Worker 多进程优缺点

Master+Worker 的进程模型是一种应用广泛的传统模型,像 Nginx、PHP-FPM 均采用这种模型,但 Swoole 的模型中多了一个 Manager 进程。

Swoole 进程模型

优点:

缺点:

单线程协程优缺点

单线程模型在新创软件领域非常流行,像 Redis、Node.js 都是单线程模型,而优缺点刚好与 Reactor+Manager+Worker 相反,但是 Mix 针对这些缺点提供了解决方案。

缺点:

优点:

对缺点的解决方案

通过上面分析可以得出结论:单线程更加简单灵活,但是最大的缺点就是阻塞问题,和多CPU利用问题,Mix V2.1 如何解决这些问题:

解决这些问题后,综合考量单线程协程显然更加符合 Mix 短小精悍、简单易用的定位,Mix V2.1 是截止现在唯一全面使用 Coroutine/Server 的框架。

上一篇 下一篇

猜你喜欢

热点阅读