开心学习系列学习笔记-----nodejs缺点
不支持故障恢复
不知你是否在调试的过程中注意,当程序有错误发生时,整个进程就会结束,需要重
新在终端中启动服务器。这一点在开发中无可厚非,但在产品环境下就是严重的问题
了,因为一旦用户访问时触发了程序中某个隐含的bug ,整个服务器就崩溃了,将无
法继续为所有用户提供服务。在部署Node.js 应用的时候一定要考虑到故障恢复,提
高系统的可靠性。
没有日志
对于开发者来说,日志,尤其是错误日志是及其重要的,经常查看它可以发现测试时
没有注意到的程序错误。然而这个服务器运行时没有产生任何日志,包括访问日志和
错误日志,所以有必要实现它的日志功能。
无法利用多核提高性能
由于Node.js是单线程的,一个进程只能利用一个CPU 核心。当请求大量到来时,单
线程就成为了提高吞吐量的瓶颈。随着多核乃至众核时代的到来,只能利用一个核心
所带来的浪费是十分严重的,我们需要使用多进程来提高系统的性能。
独占端口
假如整个服务器只有一个网站,或者可以给每个网站分配一个独立的IP 地址,不会有
端口冲突的问题。而很多时候为了充分利用服务器的资源,我们会在同一个服务器上
建立多个网站,而且这些网站可能有的是PHP ,有的是 Rails,有的是 Node.js。不能每
个进程都独占80端口,所以我们有必要通过反向代理来实现基于域名的端口共享。
需要手动启动
先前每次启动服务器都是通过在命令行中直接键入命令来实现的,但在产品环境中,
特别是在服务器重启以后,全部靠手动启动是不现实的。因此,我们应该制作一个自
动启动服务器的脚本,并且通过该脚本可以实现停止服务器等功能。
开心学习系列学习笔记-----nodejs缺点的更多相关文章
- 开心菜鸟学习系列学习笔记------------nodejs util公共函数
global 在最外层定义的变量: 全局对象的属性: 隐式定义的变量(未定义直接赋值的变量). 一.process process 是一个全局变量,即 global 对象的属性 ...
- 开心菜鸟系列学习笔记--------初探Nodejs(了解篇)
一Node.js开始学习了! 1) 输出hellow worlds a.建一个js文件 hello.js 写 console.info('hellow world !!!'); 进入终 ...
- 开心菜鸟系列学习笔记------javascript(5)
一.this的关系 1)全局代码中的this 2)函数代码中的this在函数代码中使用this时很有趣,这种情况很难且会导致很多问题. 这种类型的代码中,this值的首要特点(或许是最主要 ...
- 开心菜鸟系列学习笔记-------javascript(3)
一.原型链: 1)Object 是一个属性的集合,并且都拥有一个单独的原型对象.,这个原型对象object可以是一个object或者null值 2)不过一般来说,我们会使用__内部属性名__下 ...
- 开心菜鸟系列学习笔记------------javascript(6)
一.作用域链 1)函数的生命周期: 函数的生命周期分为创建和激活阶段(调用时),让我们详细研究它. 作用域链与一个执行上下文相关,变量 ...
- 开心菜鸟系列学习笔记------javascript(4)
一.全局上下文中的变量对象: 1)全局对象(Global object) 是在进入任何执行上下文之前就已经创建了的对象:这个对象只存在一份,它的属性在程序中任何地方都可以访问,全局对象的 ...
- MVA Universal Windows Apps系列学习笔记1
昨天晚上看了微软的Build 2015大会第一天第一场演讲,时间还挺长,足足3个小时,不过也挺震撼的.里面提到了windows 10.Microsoft edge浏览器.Azure云平台.Office ...
- 《Machine Learning》系列学习笔记之第一周
<Machine Learning>系列学习笔记 第一周 第一部分 Introduction The definition of machine learning (1)older, in ...
- (转)深度学习word2vec笔记之基础篇
深度学习word2vec笔记之基础篇 声明: 1)该博文是多位博主以及多位文档资料的主人所无私奉献的论文资料整理的.具体引用的资料请看参考文献.具体的版本声明也参考原文献 2)本文仅供学术交流,非商用 ...
随机推荐
- Android学习之AndroidManifest.xml清单之<uses-feature>
无意之中看了几个小时的官方英文文档,关于<uses-feature>的介绍.有必要在这里记录一下,应该有很多人不知道<uses-feature>到底是做什么用的,因为我们平时根 ...
- Java Thread Status(转)
public static enum Thread.State extends Enum<Thread.State>线程状态.线程可以处于下列状态之一: 1.NEW 至今尚未启动的线程的 ...
- sql模糊匹配
执行 数据库查询时,有完整查询和模糊查询之分. 一般模糊语句如下: SELECT 字段 FROM 表 WHERE 某字段 Like 条件 其中关于条件,SQL提供了四种匹配模式: 1,%:表示任意0个 ...
- linux磁盘限额配置:quota命令
LINUX下也有类似WINDOWS NTFS所用的磁盘限额,用的是quota来实现通过rpm -q quota确定是否已安装用quota只能对patation做限额,要做到针对某个目录来做只能靠ln ...
- C++链接器工具错误:LNK2001, LNK2019(转载)
这是归属于链接器工具错误 这一类. 无法解析的外部符号“symbol” 代码引用了链接器无法在库和对象文件中找到的内容(如函数.变量或标签). 可能的原因 代码请求的内容不存在(例如,符号拼写错误或使 ...
- 免费 Bootstrap 管理后台模块下载
在这文章中我们将分享17+个最好的免费 Bootstrap 管理模板.你可以免费下载这些Twitter bootstrap 框架来开发网站后台. SB Admin 2 SB Admin is a fr ...
- HDU---4417Super Mario 树状数组 离线操作
题意:给定 n个数,查询 位置L R内 小于x的数有多少个. 对于某一次查询 把所有比x小的数 ”的位置“ 都加入到树状数组中,然后sum(R)-sum(L-1)就是答案,q次查询就要离线操作了,按高 ...
- VC++中的类的内存分布(上)
0.序 目前正在学习C++中,对于C++的类及其类的实现原理也挺感兴趣.于是打算通过观察类在内存中的分布更好地理解类的实现.因为其实类的分布是由编译器决定的,而本次试验使用的编译器为VS2015 RC ...
- VS2012/2013编辑器问题
1. Visual Studio 2013 'Could not evaluate Expression' Debugger Abnormality 解决办法:http://weblog.west-w ...
- HTML--鼠标事件
<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content ...