Swoole比Node.js有哪些优势?

网站建设知识 phpacg 2年前 (2018-04-24) 105次浏览 0个评论

PHP的pecl库中有Libevent、Event 2个扩展,用PHP完全可以做异步编程。另外PHP也有pcntl、pthreads、sysvshm等扩展,PHP做多进程/多线程并发也是可以的。难的是如何将操作系统底层提供的功用整合起来,给用户层提供优雅的API。

PHP中的React.PHP应该是完全模拟Node.js的,Swoole就是Node.js的晋级版了。Swoole比Node.js封装的更初级一些,把Node.js存在未处置的效果都给处置了。Swoole最大的特点是封装的十分好,将底层完全隐藏起来,用户层代码可以复杂地完成功用的开发。

Swoole相关于Node.js最大的优势有3点:

并行效果,node.js是单线程的,无法应用到效劳器的一切CPU。想要处置只能自己用cluster/child_process扩展自行完成。假设不熟习多进程/多线程编程,这会十分困难,很容易出现BUG。而swoole是内置多线程/多进程,完全不需求用户思索,配置一下进程数即可。

Swoole除了支持异步非阻塞外,还可以同步阻塞,效劳器顺序可以以半同步半异步的方式运转。既处置了并发IO的效果,又大大较低了业务逻辑编程的难度。在众多swoole项目中这种形式的比例很高。Node.js这样纯异步、层层回调的方式,编程难度太高,过于复杂,出现BUG的概率也十分高。

Swoole基于PHP言语,作为一门效劳器端言语,天生就比作为前端的JavaScript言语更严谨规范。

喜欢 (0)
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址