@Evila:
做网站有JAVA、PHP、.NET、PYTHON等,node.js与他们的优势在哪?
我没弄明白NODE.JS优势在哪,举个例子,node.js读取HTML模板文件,php也是读取模板文件,这样IO操作频率是持平的。如果是做服务,例如用socket.io做个socket server,PHP也照样能做。
我也没能明白,NODE.JS能做的,PHP/.NET/JAVA不能做的?不要谈NODE.JS模块,可以用C++给node.js开发模块,照样也可以用c/c#给 PHP/ASP.NET开发底层的东东。
@杨金焕:
根据node.js的说法:简单的逻辑处理,高并发的请求,才能用node.js。复杂的页面逻辑,不能用node.js,事件驱动:node.js接到一个请求,马上绑定的事件,如request.bind('succ', function(){ print '响应给客户';} ); 也就是像ajax的,异步响应客户,只不过这过程发生在服务端。
高流量且逻辑简单:做print 'hello world'之类的输出吧,可能涉及到数据库的读取输出,都不能用node.js..
呵呵,像这样的node.js,可能应用有点难推广应用。
@红星XX:
如 webserver 应用 , 大量请求 传向 webserver 服务器 ,nginx ,apache 什么的 也扛不住
而这时 node.js 的威力 就出来了 ,一台服务器的负载是之前十几倍 ,
特别适用于 以下场景:
RESTful API
提供 RESTful API 的 Web 服务接收几个参数,解析它们,组合一个响应,并返回一个响应(通常是较少的文本)给用户。这是适合 Node 的理想情况,因为您可以构建它来处理数万条连接。它仍然不需要大量逻辑;它本质上只是从某个数据库中查找一些值并将它们组成一个响应。由于响应是少量文本,入站请求也是少量的文本,因此流量不高,一台机器甚至也可以处理最繁忙的公司的 API 需求。
Twitter 队列
想像一下像 Twitter 这样的公司,它必须接收 tweets 并将其写入数据库。实际上,每秒几乎有数千条 tweet 达到,数据库不可能及时处理高峰时段所需的写入数量。Node 成为这个问题的解决方案的重要一环。如您所见,Node 能处理数万条入站 tweet。它能快速而又轻松地将它们写入一个内存排队机制(例如 memcached),另一个单独进程可以从那里将它们写入数据库。Node 在这里的角色是迅速收集 tweet,并将这个信息传递给另一个负责写入的进程。想象一下另一种设计(常规 PHP 服务器会自己尝试处理对数据库本身的写入):每个 tweet 都会在写入数据库时导致一个短暂的延迟,因为数据库调用正在阻塞通道。由于数据库延迟,一台这样设计的机器每秒可能只能处理 2000 条入站 tweet。每秒处理 100 万条 tweet 则需要 500 个服务器。相反,Node 能处理每个连接而不会阻塞通道,从而能够捕获尽可能多的 tweets。一个能处理 50,000 条 tweet 的 Node 机器仅需 20 台服务器即可。
电子游戏统计数据
如果您在线玩过《使命召唤》这款游戏,当您查看游戏统计数据时,就会立即意识到一个问题:要生成那种级别的统计数据,必须跟踪海量信息。这样,如果有数百万玩家同时在线玩游戏,而且他们处于游戏中的不同位置,那么很快就会生成海量信息。Node 是这种场景的一种很好的解决方案,因为它能采集游戏生成的数据,对数据进行最少的合并,然后对数据进行排队,以便将它们写入数据库。使用整个服务器来跟踪玩家在游戏中发射了多少子弹看起来很愚蠢,如果您使用 Apache 这样的服务器,可能会有一些有用的限制;但相反,如果您专门使用一个服务器来跟踪一个游戏的所有统计数据,就像使用运行 Node 的服务器所做的那样,那看起来似乎是一种明智之举。
@尹泽西:
你想知道他为什么好?这么跟你说吧。web服务系统性能上有几个考虑的地方,1连接数。2.后台业务。后台业务包括业务逻辑和数据存储。市面上有很多测试并发连接数的软件不知道你用过没有。像iis和jboss这些东西都有一个并发连接数的上线。他是由于这么web服务器你建立1个连接就开1个进程,每个进程需要基本内存大约是几mb,这样web服务器能开多少连接数不就由web服务器内存决定了。而nodejs就开一个进程,用事件驱动,那就是个转发器,连接器,其他业务逻辑和数据存储那是本地机器的问题。你说性能优化哪里都可以优化是对的。可以优化数据库,可以优化业务逻辑。但是系统瓶颈一般在哪里?就像中国的订票系统似的,在于web服务器,老的web服务器并发连接数是有限的。所以中国订票系统人1多反映就慢,他慢的原因不是后台业务处理和数据库慢,这个那个干订票系统公司的人已经说了,系统慢不是机房里面数据连接的问题。其实他们意思就是web服务器连接数有问题。应该尝试用nodejs。至于RESTful这是一种架构风格,其他软件可有支持,不是它的特定。他的特定是单进程,异步通讯。搞it都懂异步通讯要比同步通讯快很多的道理把。
相关推荐
基于nodejs的云转码系统源码(毕业设计).zip基于nodejs的云转码系统源码(毕业设计).zip基于nodejs的云转码系统源码(毕业设计).zip基于nodejs的云转码系统源码(毕业设计).zip基于nodejs的云转码系统源码(毕业...
此项目仅用学习交流技术使用 不做商业用途。 使用 nodejs 实现磁力链接爬虫 磁力链接解析成 torrent种子信息,保存到数据库,利用 Elasticsearch 实现中文检索。koa2 搭建磁力链接搜索引擎 后端脚本 磁力链接获取 ...
为了方便大家在网络上面交流,这里利用nodejs环境开发了一个前后端分离模式的在线聊天室系统。用户如果没有账号可以注册一个,登录系统后可以查看所有的聊天室房间和所有的在线用户,用户可以选择某个用户进行私聊,...
项目工程资源经过严格测试可直接运行成功且功能正常的情况才上传,可轻松复刻,拿到资料包后可轻松复现出一样的项目,本人系统开发经验充足...供开源学习/技术交流/学习参考,勿用于商业用途。质量优质,放心下载使用
本吧几乎所有资源均搜集于网络,仅供学习参考,不得进行任何商业用途,否则产生的一切后果将由使用者本人承担! 本吧仅仅提供一个观摩与交流的平台, 将不保证所提供资源的完整性,也不对任何资源负法律责任。所有...
项目工程资源经过严格测试可直接运行成功且功能正常的情况才上传,可轻松复刻,拿到资料包后可轻松复现出一样的项目,本人系统开发经验充足...供开源学习/技术交流/学习参考,勿用于商业用途。质量优质,放心下载使用。
3、用途:项目具有较高的学习借鉴价值,也适用于小白学习入门进阶。当然也可作为毕设项目、课程设计、大作业、初期项目立项演示等。 4、如果基础还行,或者热爱钻研,亦可在此项目代码基础上进行修改添加,实现其他...
GCUF-Library是一个简单的图书馆管理系统,使用nodejs构建。它帮助管理图书馆及其流程,如库存、追踪和借阅书籍。...4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。
el-bot是一个非盈利的开源项目,允许交流学习使用。请勿用于商业或非法用途,因使用而与腾讯公司产生的一切纠纷均与原作者无关。 开始 mirai 1.0版本以上推荐使用官方启动器启动与插件。 (因为种种原因,本项目不...
- **用途**: `node_global`用于存放全局npm包;`node_cache`用于存储缓存数据。 2. **配置npm的全局安装路径与缓存路径** - **命令行操作**: 使用`npm config set prefix "路径"`和`npm config set cache "路径"`...
3、用途:项目具有较高的学习借鉴价值,也适用于小白学习入门进阶。当然也可作为毕设项目、课程设计、大作业、初期项目立项演示等。4、如果基础还行,或者热爱钻研,亦可在此项目代码基础上进行修改添加,实现其他...
工作流平台(宣称同意禁止做商业用途) 流程,表单,报表,手动配置生成实际工作流 | 交流群: 717933986 演示演示 模块介绍 前端工程 模块名称 备注说明 工作管理员 管理台 造型师 表单模型(设计,明细) 流程...
准备工作Python >= 3.8.0 (推荐3.8+版本)nodejs >= 14.0 (推荐最新)Mysql >= 5.7.0 (可选,默认数据库sqlite3,推荐8.0版本)Redis(可选,最新版)进入项目目录cd web# 安装依赖npm install --registry=...
SpringMVC+mybaits+Maven+anguljs+html5+mysql+nodejs+BO报表 集成的大数据地产分析项目.zip项目工程资源经过严格测试可直接运行成功且功能...供开源学习/技术交流/学习参考,勿用于商业用途。质量优质,放心下载使用。
一个仿知乎论坛博客系统 nodejs-express+mongodb+redis+vue.js+bootstrap+layui+socketio 实现.zip项目工程资源经过严格测试可直接运行成功...供开源学习/技术交流/学习参考,勿用于商业用途。质量优质,放心下载使用。
sudo apt-get update && sudo apt-get install yarnsudo apt-get install -y nodejs初始化项目:sudo npm init -y添加React,Next依赖:sudo npm install --save react react-dom next添加依赖Webpack(Webpack这个...
开发工具: WebStorm 开发环境:Nodejs + vue + express + mongodb数据库 本考试系统一共3个身份,学生、老师和管理员。老师登录后可以添加题库,添加生成试卷,其中的试题类型包括了单选,多选,判断,填空和问题,...
3、用途:项目具有较高的学习借鉴价值,不仅适用于小白学习入门进阶。也可作为毕设项目、课程设计、大作业、初期项目立项演示等。 4、如果基础还行,或热爱钻研,亦可在此项目代码基础上进行修改添加,实现其他不同...
本仓库仅用于学术交流, 不得用于任何商业用途!!! 说明 本仓库不提供相关模型源代码、模型文件、数据集、服务源代码等. 通过率 滑动: 通过算法生成轨迹 二代: 重试一次通过率99% 三代: 不重试, 通过率99% 汉字点选: ...
极验点选汉字验证码 PyTorch + Nodejs model 下载地址: 提取码: 4ivx 免责声明 本项目仅供学习交流使用,请勿用于非法用途,不得在任何商业使用,本人不承担任何法律责任。 参考资料