0

0

Nodejs可以应用于那些场景?

青灯夜游

青灯夜游

发布时间:2021-05-28 10:08:36

|

2747人浏览过

|

来源于掘金社区

转载

本篇文章给大家介绍一些nodejs的应用场景。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。

Nodejs可以应用于那些场景?

Apache 的多线程高并发模式

优点:支持多线程并发

缺点:阻塞

什么是线程

线程是可以独立运行的最小的 CPU 单位,可以在同一个进程里并发运行,共享该进程下的内存地址空间。

当不同的线程需要占用同一个变量时,根据先到先得的原则,先到的线程在运作时,后来的线程只能在旁边等待,也就是加入到了阻塞排队序列。就造成了线程阻塞。

类似场景:银行柜台办理业务

NodeJS 的异步 I/O 原理

优点:高并发(最重要的优点)、适合 I/O 密集型应用

缺点:

  • 不适合CPU密集型应用(CPU密集型应用给Node带来的挑战主要是:由于JavaScript单线程的原因,如果有长时间运行的计算(比如大循环),将会导致 CPU 时间片不能释放,使得后续 I/O 无法发起)

  • 只支持单核CPU,不能充分利用CPU

  • 可靠性低,一旦代码某个环节崩溃,整个系统都崩溃
    原因:单进程、单线程
    解决方案:
    (1)Nnigx 反向代理,负载均衡,开多个进程,绑定多个端口;
    (2)开多个进程监听同一个端口,使用cluster模块
    (3)线上使用 PM2 管理进程,出现问题自动重启项目

  • Debug 不方便,错误没有 stack trace

NodeJS 基于事件循环,每一条 NodeJS 的逻辑写在回调函数里面,回调函数在返回之后异步执行。【推荐学习:《nodejs 教程》】

Smile企业费用管理系统源码1.0
Smile企业费用管理系统源码1.0

一、源码特点企业费用管理系统,有权限分配,登陆验证,新增角色,发布公告等二、功能介绍1、js的兼容性有个地方不行(比如模块排序,那个时候也是雏鸟一只,写了一小撮,现在用jq应该好处理的吧,ie里面没问题,大家发挥吧)2、里面的菜单和对应菜单下面的目录项可以根据需求自己添加的,有对应模块3、可以根据自己设定的角色添加对应的访问页面4、有些操作涉及到按钮权限,对于这种思路,我粗粗的写了2个自定义控件,

下载

NodeJS 不是没有阻塞,而是阻塞不发生在后续回调的流程,而会发生在 NodeJS 本身对逻辑的计算和处理。

NodeJS 它的所有 I/O、网络通信等比较耗时的操作,都可以交给 worker threads 执行再回调,所以很快。但 CPU 的正常操作,它只能自己操作。

类似场景:排队点餐后叫号取餐。

NodeJS 的应用场景

NodeJS 处理并发的能力强,但处理计算和逻辑的能力反而很弱。

因此,我们把复杂的逻辑运算搬到前端(客户端)完成,而 NodeJS 只需要提供异步 I/O,这样就可以实现对高并发的高性能处理。

RESTful API

这是 NodeJS 最理想的应用场景,可以处理数万条连接,本身没有太多的逻辑,只需要请求 API,组织数据进行返回即可。

它本质上只是从某个数据库中查找一些值并将它们组成一个响应。

由于响应是少量文本,入站请求也是少量的文本,因此流量不高,一台机器甚至也可以处理最繁忙的公司的 API 需求。

大量 Ajax 请求的应用

实时聊天、客户端逻辑强大的单页 APP,具体的例子比如说:本地化的在线音乐应用,本地化的在线搜索应用,本地化的在线 APP 等。

Apache 适用场景

Apache 由于其多线程高并发共享内存地址空间的特性,那就意味着如果服务器足够强大,处理器足够高核,Apache 的运作将会非常良好,所以适用于(并发)异步处理相对较少,后台计算量大,后台业务逻辑复杂的应用程序。

更多编程相关知识,请访问:编程视频!!

相关专题

更多
菜鸟裹裹入口以及教程汇总
菜鸟裹裹入口以及教程汇总

本专题整合了菜鸟裹裹入口地址及教程分享,阅读专题下面的文章了解更多详细内容。

0

2026.01.22

Golang 性能分析与pprof调优实战
Golang 性能分析与pprof调优实战

本专题系统讲解 Golang 应用的性能分析与调优方法,重点覆盖 pprof 的使用方式,包括 CPU、内存、阻塞与 goroutine 分析,火焰图解读,常见性能瓶颈定位思路,以及在真实项目中进行针对性优化的实践技巧。通过案例讲解,帮助开发者掌握 用数据驱动的方式持续提升 Go 程序性能与稳定性。

9

2026.01.22

html编辑相关教程合集
html编辑相关教程合集

本专题整合了html编辑相关教程合集,阅读专题下面的文章了解更多详细内容。

56

2026.01.21

三角洲入口地址合集
三角洲入口地址合集

本专题整合了三角洲入口地址合集,阅读专题下面的文章了解更多详细内容。

51

2026.01.21

AO3中文版入口地址大全
AO3中文版入口地址大全

本专题整合了AO3中文版入口地址大全,阅读专题下面的的文章了解更多详细内容。

397

2026.01.21

妖精漫画入口地址合集
妖精漫画入口地址合集

本专题整合了妖精漫画入口地址合集,阅读专题下面的文章了解更多详细内容。

118

2026.01.21

java版本选择建议
java版本选择建议

本专题整合了java版本相关合集,阅读专题下面的文章了解更多详细内容。

3

2026.01.21

Java编译相关教程合集
Java编译相关教程合集

本专题整合了Java编译相关教程,阅读专题下面的文章了解更多详细内容。

16

2026.01.21

C++多线程相关合集
C++多线程相关合集

本专题整合了C++多线程相关教程,阅读专题下面的的文章了解更多详细内容。

11

2026.01.21

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
快速入门Node.JS全套完整版
快速入门Node.JS全套完整版

共83课时 | 8.3万人学习

nodejs开发基础教程
nodejs开发基础教程

共15课时 | 4.5万人学习

JavaScript设计模式视频教程
JavaScript设计模式视频教程

共28课时 | 5.3万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号