开心学习系列学习笔记-----nodejs缺点

不支持故障恢复

不知你是否在调试的过程中注意,当程序有错误发生时,整个进程就会结束,需要重

新在终端中启动服务器。这一点在开发中无可厚非,但在产品环境下就是严重的问题

了,因为一旦用户访问时触发了程序中某个隐含的bug ,整个服务器就崩溃了,将无

法继续为所有用户提供服务。在部署Node.js 应用的时候一定要考虑到故障恢复,提

高系统的可靠性。

 没有日志

对于开发者来说,日志,尤其是错误日志是及其重要的,经常查看它可以发现测试时

没有注意到的程序错误。然而这个服务器运行时没有产生任何日志,包括访问日志和

错误日志,所以有必要实现它的日志功能。

 无法利用多核提高性能

由于Node.js是单线程的,一个进程只能利用一个CPU 核心。当请求大量到来时,单

线程就成为了提高吞吐量的瓶颈。随着多核乃至众核时代的到来,只能利用一个核心

所带来的浪费是十分严重的,我们需要使用多进程来提高系统的性能。

 独占端口

假如整个服务器只有一个网站,或者可以给每个网站分配一个独立的IP 地址,不会有

端口冲突的问题。而很多时候为了充分利用服务器的资源,我们会在同一个服务器上

建立多个网站,而且这些网站可能有的是PHP ,有的是 Rails,有的是 Node.js。不能每

个进程都独占80端口,所以我们有必要通过反向代理来实现基于域名的端口共享。

 需要手动启动

先前每次启动服务器都是通过在命令行中直接键入命令来实现的,但在产品环境中,

特别是在服务器重启以后,全部靠手动启动是不现实的。因此,我们应该制作一个自

动启动服务器的脚本,并且通过该脚本可以实现停止服务器等功能。