为什么要用node.js它又有什么优势呢?一个新的技术被大家喜爱那么它就必然有它的优势,那么下面我们就来简单把它和php做一个对比
1 . Node.js 他用的是JavaScript引擎,那么注定它是单线程 ,使用异步方法开辟多个任务,无需像php等待上个任务线程使用结束之后给下个使用,
PHP也是单线程但是它借用Apache服务器提供多线程服务
2 . 高并发,大数据量怎么处理:
php : 优化sql ,用组件,用缓存,为了让线程尽快结束,进行下一次任务
node:单线程 、异步、事件驱动
下面是他们处理事件,
php上下衔接依次执行,
node中因为运行速度很快并不会等待,所以如果后面用到前面返回的结果,就需要把后面的封装起来,作为一个回调函数执行
![](https://i-blog.csdnimg.cn/blog_migrate/ee56d6e43f45f2ecf4110cf455e9326c.png)
node.js vs php
优点:
性能高(运行机制问题)
开发效率高(省不少优化的事)
应用范围广(可以开发桌面系统,electron框架)
缺点:
新、人少
中间件少
IDE不完善
node.js的劣势和解决方案
1 默认不支持多核,但可以用cluster解决
2 默认不支持服务器集群,node-http-proxy可以解决
3 使用nginx做负载均衡,静态的由nginx处理,动态的有node.js处理
4 forever或node-cluster实现灾难恢复