先说结论,更看好 PHP(Swoole)。
2020年,PHP8JIT即将到来,JIT+Swoole Coroutine一定可以重新定义PHP语言。
以下观点,全是个人观点,本人主语言PHP,Java Golang 都是辅助语言,所以比较上可能会有偏差。
现阶段,Swoole协程已经把PHP的性能提升到了一个新的高度。就我司和某司相比,我司使用Hyperf构建的整套微服务,而某司是Spring Cloud构建的微服务。在性能表现上,Swoole协程可以用更少的硬件资源(10台2c4g机器, 2台Mysql)与Spring Cloud(40+ 4c8g机器,10+台Mysql)性能表现差不多,而开发人员,更是接近1:20,甚至我们会有完备的单元测试,而Java组基本没有一行测试。这种情况下,开发效率还是碾压Java组。
但实际业务,并不是只看开发效率和并发能力的。在Java生态面前,Go和PHP全部都是弟弟。尤其是微服务生态,Java绝对的龙头地位,Go也紧跟步伐,PHP完全被甩在了后面,虽说我不怎么使用 Node,但感觉 Node 在这方面的生态可能都要比PHP好些。不过最近随着 Swoole 的完善,生态也在逐步完善。还是希望广大的PHP开发者们,可以共同来做这件事。
不过好在 Docker 技术的成熟,PHP 也可以在微服务上有一席之地,而Java动辄几G内存的占用量,却有些背道而驰了。这方面最好的肯定是 Golang,直接打包成二进制文件,跑在 scratch 镜像中,绝对是最小的镜像文件,而且内存占用也十分友好。hyperf/hyperfgithub.com