推荐 workerman! swoole 那套直接 c 拓展的不适合进阶新手,新手要的是渐进式,稳定性。swoole 升级频繁,不向下兼容,好多周边框架都要求最新 swoole 版本。关于高并发这个需求,如果没有一定的功力和经验,贸然上手搞协程,其实是走捷径,你不可能熟悉的,这种 magic 是给高手用的。 workerman 用的是多进程,看上去老套,但是成熟稳定,总之要高并发,无非多进程,多线程,协程。多线程无疑 Java 最成熟,但学习使用成本都不低,协程是给高手剑走偏锋的。新手要的是什么?是循序渐进,先掌握一个范式,再一步一步来。workerman 也出了官方 web 框架 webman,压测排名在 swoole 之上,毫不夸张的说,workerman 目前是最成熟,成本最低的 PHP 解决方案,门槛还低。 最后说说 swoole,作者的功力是强焊的,野心也是大大的,不过我不看好 c/c++ 来搞 PHP,这个思路不好,学习和拓展的曲线太陡峭,如果哪个公司依赖了,你很难自己解决 bug,因为这要动 c 系源码,成本太大了,而且很多第三方库要写 swoole 协程特制版,又是一项隐形成本,当然有人说,swoole 社区已经提供了协程版库,这个怎么说呢,能不能高可用,你真的敢在项目上试错吗。workerman 的思路就很好,PHP 已经图灵完备,就该和 Python 对标,原生 PHP 也可以搞常驻内存的网络编程,性能也是非常厉害的。
我都没用过,但是听说 swoole 内存问题比较难搞,嗯,本人潜水在 workman 的群里,群主比较热心回答各种问题,当然全在群里问的话群主也管不过来,在作者 walkor 指定的论坛发帖,基本都会有回复。
我的一个开源项目用的就是 workerman 项目查看,依赖的环境比较少,开发难度小。 如果不是上万的并发建议 workerman。 但是我的经验表明 95% 的项目都不会有上万的并发。 初学者我也建议用 workerman。 swoole 你也可以同时学习,毕竟协程更节省硬件资源。 还有就是 workerman 的作者超级有耐心回复各种问题,从来没有见过如此热心的
swoole
是作为 php
的扩展,不依赖其他扩展,底层是 c
,程序中直接调用,性能较高。
workman
是用原生 php
,依赖其他扩展,需要下载源码包。
前者可以理解为 swoole
是提供给 php
的 api
,原生度比较高,所以没有封装实践中的 业务逻辑
,需要自己开发。后者对某种业务需求有封装,更容易上手。
本人曾经学习 swoole
个把月,感觉比较难驾驭,需要掌握比较多的基础知识,实际工作中运用较少,但是感觉值得学习。总之,用哪个看用来做什么,大众需求, workman
可能开发成本更低,有些特定需求,也可以研究研究 swoole
。
推荐 workerman! swoole 那套直接 c 拓展的不适合进阶新手,新手要的是渐进式,稳定性。swoole 升级频繁,不向下兼容,好多周边框架都要求最新 swoole 版本。关于高并发这个需求,如果没有一定的功力和经验,贸然上手搞协程,其实是走捷径,你不可能熟悉的,这种 magic 是给高手用的。 workerman 用的是多进程,看上去老套,但是成熟稳定,总之要高并发,无非多进程,多线程,协程。多线程无疑 Java 最成熟,但学习使用成本都不低,协程是给高手剑走偏锋的。新手要的是什么?是循序渐进,先掌握一个范式,再一步一步来。workerman 也出了官方 web 框架 webman,压测排名在 swoole 之上,毫不夸张的说,workerman 目前是最成熟,成本最低的 PHP 解决方案,门槛还低。 最后说说 swoole,作者的功力是强焊的,野心也是大大的,不过我不看好 c/c++ 来搞 PHP,这个思路不好,学习和拓展的曲线太陡峭,如果哪个公司依赖了,你很难自己解决 bug,因为这要动 c 系源码,成本太大了,而且很多第三方库要写 swoole 协程特制版,又是一项隐形成本,当然有人说,swoole 社区已经提供了协程版库,这个怎么说呢,能不能高可用,你真的敢在项目上试错吗。workerman 的思路就很好,PHP 已经图灵完备,就该和 Python 对标,原生 PHP 也可以搞常驻内存的网络编程,性能也是非常厉害的。
推荐文章: