抛开功能谈稳定性显然是不靠谱的。Swoole一共十几个模块,上百项特性。有的模块和特性是很成熟的,有的是新增的确实可能存在各种问题。 Workerman一方面开发遇到的难题没有Swoole多。越靠近底层面临的问题越多。Swoole要适配各种操作系统、不同版本的GCC和PHP,需要解决很多方面的问题。Swoole为了追求极致的性能,使用了C语言进行开发,难度比PHP要高不少。PHP语言的容错性也比C好,PHP里出现错误最多也就是Warning一下,C里直接段错误了。Workerman复用了libevent、pcntl等扩展,解决了很大一部分问题。第二Workerman提供的特性和功能也没有Swoole多,比较好控制。 实际上Swoole核心的Server、Client、几种常见的通信协议,比如固定包头+包体、EOF、Http、WebSocket等,已经非常成熟了,1.8.x版本末期几个异步客户端,包括MySQL、Redis、Http也非常稳定了,要知道这些功能开发了不过只有1年时间。Swoole2.0还提供了内置协程,底层协程调度直接修改控制Zend引擎,这恐怕会有一大堆新问题会产生,都需要逐个去解决。 很多大型互联网公司,包括腾讯、百度这种量级都在生产环境中使用了Swoole,我们公司(车轮互联)基于Swoole实现的Service架构、监控统计等大大小小十几个系统已经稳定运行了2年多。足以证明Swoole的成熟度。 Swoole的发展离不开广大用户的问题反馈,软件项目难免会有BUG,只有不断反复踩坑填坑才能真正走向成熟。如果真遇到Swoole的BUG了,欢迎向我们提交Issue。 当然我个人建议技术功底强的人用Swoole,否则用Workerman就好了,省事。
抛开功能谈稳定性显然是不靠谱的。Swoole一共十几个模块,上百项特性。有的模块和特性是很成熟的,有的是新增的确实可能存在各种问题。
Workerman一方面开发遇到的难题没有Swoole多。越靠近底层面临的问题越多。Swoole要适配各种操作系统、不同版本的GCC和PHP,需要解决很多方面的问题。Swoole为了追求极致的性能,使用了C语言进行开发,难度比PHP要高不少。PHP语言的容错性也比C好,PHP里出现错误最多也就是Warning一下,C里直接段错误了。Workerman复用了libevent、pcntl等扩展,解决了很大一部分问题。第二Workerman提供的特性和功能也没有Swoole多,比较好控制。
实际上Swoole核心的Server、Client、几种常见的通信协议,比如固定包头+包体、EOF、Http、WebSocket等,已经非常成熟了,1.8.x版本末期几个异步客户端,包括MySQL、Redis、Http也非常稳定了,要知道这些功能开发了不过只有1年时间。Swoole2.0还提供了内置协程,底层协程调度直接修改控制Zend引擎,这恐怕会有一大堆新问题会产生,都需要逐个去解决。
很多大型互联网公司,包括腾讯、百度这种量级都在生产环境中使用了Swoole,我们公司(车轮互联)基于Swoole实现的Service架构、监控统计等大大小小十几个系统已经稳定运行了2年多。足以证明Swoole的成熟度。
Swoole的发展离不开广大用户的问题反馈,软件项目难免会有BUG,只有不断反复踩坑填坑才能真正走向成熟。如果真遇到Swoole的BUG了,欢迎向我们提交Issue。
当然我个人建议技术功底强的人用Swoole,否则用Workerman就好了,省事。