开心学习系列学习笔记-----nodejs缺点
不支持故障恢复
不知你是否在调试的过程中注意,当程序有错误发生时,整个进程就会结束,需要重
新在终端中启动服务器。这一点在开发中无可厚非,但在产品环境下就是严重的问题
了,因为一旦用户访问时触发了程序中某个隐含的bug ,整个服务器就崩溃了,将无
法继续为所有用户提供服务。在部署Node.js 应用的时候一定要考虑到故障恢复,提
高系统的可靠性。
没有日志
对于开发者来说,日志,尤其是错误日志是及其重要的,经常查看它可以发现测试时
没有注意到的程序错误。然而这个服务器运行时没有产生任何日志,包括访问日志和
错误日志,所以有必要实现它的日志功能。
无法利用多核提高性能
由于Node.js是单线程的,一个进程只能利用一个CPU 核心。当请求大量到来时,单
线程就成为了提高吞吐量的瓶颈。随着多核乃至众核时代的到来,只能利用一个核心
所带来的浪费是十分严重的,我们需要使用多进程来提高系统的性能。
独占端口
假如整个服务器只有一个网站,或者可以给每个网站分配一个独立的IP 地址,不会有
端口冲突的问题。而很多时候为了充分利用服务器的资源,我们会在同一个服务器上
建立多个网站,而且这些网站可能有的是PHP ,有的是 Rails,有的是 Node.js。不能每
个进程都独占80端口,所以我们有必要通过反向代理来实现基于域名的端口共享。
需要手动启动
先前每次启动服务器都是通过在命令行中直接键入命令来实现的,但在产品环境中,
特别是在服务器重启以后,全部靠手动启动是不现实的。因此,我们应该制作一个自
动启动服务器的脚本,并且通过该脚本可以实现停止服务器等功能。