Swoole比Node.js有哪些优势?有哪些知名的Swoole案例

 我来答
育知同创教育
2017-08-02 · 百度知道合伙人官方认证企业
育知同创教育
1【专注:Python+人工智能|Java大数据|HTML5培训】 2【免费提供名师直播课堂、公开课及视频教程】 3【地址:北京市昌平区三旗百汇物美大卖场2层,微信公众号:yuzhitc】
向TA提问
展开全部
JavaScript做异步回调有优势?
所有编程语言都是回调函数来实现异步程序的。包括C/C++、Java、Ruby、Python,所以JavaScript也只是其中一员,没什么特别的。PHP一样也是用异步回调来实现异步IO,这会比JS差么?实际编码发现PHP反而写回调函数更有优势,因为PHP支持 4种回调写法,更灵活一些 4种PHP回调函数风格-Swoole扩展-Swoole文档中心
Node.js有完整的前后端工具链
前端JS库就不说了,浏览器只能执行JS。PHP程序员中有很大一部分人都是懂JS的,各种JS库用的炉火纯青。
后端PHP的生态圈比Node.js要成熟得多了,毕竟发展近20几年,积累还是有的。虽然NPM包的数量非常庞大,质量嘛就不好说了。
Swoole最大的优势就是依附于PHP强大的生态圈,各种官方维护的扩展、类库,各种PHP开源项目和工具,各种现成的经过时间考验的PHP代码。
Swoole一般程序员很难掌握
对。Swoole本来就是面向高级PHP程序员的,其实初级/中级的JavaScript程序员也未必能真正掌握Node.js。
初中级的PHP程序员用好LAMP就非常不错了。
异步回调的程序很难掌控
是的,异步回调反人类。所以Swoole不会只支持异步。我推荐的模式是异步+同步。对并发要求高的通信服务器可以纯异步,这样一个Server就能解决非常大的并发网络IO。业务逻辑复杂的服务器用同步,编码简单调试容易。
项目成功了可以转向Java、C++、Go
完全可以。但是重构难度实际上很大的,成本也很高。现在有了Swoole,PHP也有方案可以实现C++、Java、GO同样的技术架构。这时候就可以有2个选择,1、使用其他编程语言进行痛苦的转型和重构。2、尝试使用Swoole,即使Swoole最终未必能解决问题,你还可以继续重复第一条路。可是万一解决了呢?
Swoole相对于Node.js最大的优势有3点:

并行问题,node.js是单线程的,无法利用到服务器的所有CPU。想要解决只能自己用cluster/child_process扩展自行实现。如果不熟悉多进程/多线程编程,这会非常困难,很容易出现BUG。而swoole是内置多线程/多进程,完全不需要用户考虑,配置一下进程数即可。
Swoole除了支持异步非阻塞外,还可以同步阻塞,服务器程序可以以半同步半异步的方式运行。既解决了并发IO的问题,又大大较低了业务逻辑编程的难度。在众多swoole项目中这种模式的比例很高。Node.js这样纯异步、层层回调的方式,编程难度太高,过于复杂,出现BUG的概率也非常高。
Swoole基于PHP语言,作为一门服务器端语言,天生就比作为前端的JavaScript语言更严谨规范。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式