node.js能构建支持并发和高负载的大型应用吗
1个回答
推荐于2016-02-02
展开全部
我感觉Node.js做实时应用非常适合,因为Node是服务器进程层面的,且对于每个链接都不是隔离的,非常适合实时的交换数据。
且由于数据在自身内部就可完成处理与转发,不需与外部线程,外部服务进行交换等原因,性能会有较大提升。
但单纯考虑解决压力问题我觉得Node可能不大适合。
异步架构性能有提升,但不至于很大。多线程,非异步用了这么多年了,人们还在沿用,说明多线程并非那么傻。
Node本身只是单线程的,对多核服务器资源利用有欠缺。当然也可通过某些方式开启多个工作进程,但进程间的数据交换不易实现且有风险。
Node不如php等流行,在非实时应用方面不如php便于开发。
Node的特性决定编写代码时必须考虑周全,你要当作开发一个服务器程序对待(这个很重要,思想可以说是完全不同),因为一旦出错,node进程就会崩溃,导致结果就是所有在线链接断开,所有缓存数据丢失。
另外一个问题是,由于node膨胀很快,个人开发出的模块良莠不齐,鱼目混珠,模块要慎用。鼓吹的有多少多少模块,其实还不如只有少数精品,也免得筛选之苦。
且由于数据在自身内部就可完成处理与转发,不需与外部线程,外部服务进行交换等原因,性能会有较大提升。
但单纯考虑解决压力问题我觉得Node可能不大适合。
异步架构性能有提升,但不至于很大。多线程,非异步用了这么多年了,人们还在沿用,说明多线程并非那么傻。
Node本身只是单线程的,对多核服务器资源利用有欠缺。当然也可通过某些方式开启多个工作进程,但进程间的数据交换不易实现且有风险。
Node不如php等流行,在非实时应用方面不如php便于开发。
Node的特性决定编写代码时必须考虑周全,你要当作开发一个服务器程序对待(这个很重要,思想可以说是完全不同),因为一旦出错,node进程就会崩溃,导致结果就是所有在线链接断开,所有缓存数据丢失。
另外一个问题是,由于node膨胀很快,个人开发出的模块良莠不齐,鱼目混珠,模块要慎用。鼓吹的有多少多少模块,其实还不如只有少数精品,也免得筛选之苦。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询