欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  web前端

node.js适合做什么?用node.js的好处在哪里?

程序员文章站 2022-03-28 15:49:01
...
本篇文章主要的讲述了关于node.js适合的方向,node.js适合做什么?还有node.js有哪些好处?具体的详情请看文章。

一、我们先谈谈node.js适合做什么:

首先来说,nodeJs是前端全栈的基石,它的应用场景已经从前端工具的脚手架、辅助工具类,发展到api中间层、代理层,以及专业的后端开发。

这其中最有价值的就是api中间层。现在的大趋势是越来越多的业务被推到前端,后端专注于只提供服务。很典型且常见的工作场景就是,前后端协作的时候,因为进度不同有时前端需要等后端的接口。

这种时候,nodeJs的中间层应用就可以很好的解决这个问题。前端通过nodeJs可以自己约定数据的格式,根据前端的需求定制自己的接口,自己封装对数据库的crud操作,创建自己的代理和网关服务器等。这些事情在以往只能是等着后端做,但现在通过nodeJs前端都可以自己搞定,这就使得工作的过程更加可控。

当然了这也对前端开发人员提出了更高的要求,至少数据库、架构设计、系统结构 、网络应用这些短板都需要慢慢补齐。

据说啊我也不确定,nodeJs最开始是给后端搞的,只不过为了简单、异步、大并发而选择了Java语言,阴差阳错之下被前端发现并发扬光大。

所以前端搞nodeJs必然是向后端侵蚀,而后端的开发结构、技术栈已经很完整了,所以后端一般不愿意变动,所以很多时候对于nodeJs的阻力,其实是来源于后端的保守。当然这也是有一定道理的,因为后端主要是服务、数据、底层应用,这些东西都求稳、求安全、还有些历史遗留问题,所以它们不喜欢新东西。

所以在现阶段吧,很多nodeJs的应用都是处于前端和后端之间的桥梁。一般来讲,没有什么历史包袱的新公司啊,创业公司啊,孵化项目之类的更愿意使用nodeJs,快速、高效嘛。

现在基本上所有的前端应用都有nodeJs的影子,什么React、vue、angular等,它的应用场景和就业市场也都很大,所以nodeJs的学习不是让你可以做什么,而是让你多了一个施展的空间。(想知道更多node.js的内容,就来PHP中文网的node.js视频教程栏目)

二、现在来说说用node.js的好处:

正如您此前所看到的,Node 非常适合以下情况:在响应客户端之前,您预计可能有很高的流量,但所需的服务器端逻辑和处理不一定很多。我们总结了Node的三点好处,也可以说是表现出众的典型示例:

1.RESTful API

提供 RESTful API 的 Web 服务接收几个参数,解析它们,组合一个响应,并返回一个响应(通常是较少的文本)给用户。这是适合 Node 的理想情况,因为您可以构建它来处理数万条连接。它仍然不需要大量逻辑;它本质上只是从某个数据库中查找一些值并将它们组成一个响应。由于响应是少量文本,入站请求也是少量的文本,因此流量不高,一台机器甚至也可以处理最繁忙的公司的 API 需求。

2.Twitter 队列

想像一下像 Twitter 这样的公司,它必须接收 tweets 并将其写入数据库。实际上,每秒几乎有数千条 tweet 达到,数据库不可能及时处理高峰时段所需的写入数量。Node 成为这个问题的解决方案的重要一环。如您所见,Node 能处理数万条入站 tweet。它能快速而又轻松地将它们写入一个内存排队机制(例如 memcached),另一个单独进程可以从那里将它们写入数据库。Node 在这里的角色是迅速收集 tweet,并将这个信息传递给另一个负责写入的进程。想象一下另一种设计(常规 PHP 服务器会自己尝试处理对数据库本身的写入):每个 tweet 都会在写入数据库时导致一个短暂的延迟,因为数据库调用正在阻塞通道。由于数据库延迟,一台这样设计的机器每秒可能只能处理 2000 条入站 tweet。每秒处理 100 万条 tweet 则需要 500 个服务器。相反,Node 能处理每个连接而不会阻塞通道,从而能够捕获尽可能多的 tweets。一个能处理 50,000 条 tweet 的 Node 机器仅需 20 台服务器即可。

3.电子游戏统计数据

如果您在线玩过《使命召唤》这款游戏,当您查看游戏统计数据时,就会立即意识到一个问题:要生成那种级别的统计数据,必须跟踪海量信息。这样,如果有数百万玩家同时在线玩游戏,而且他们处于游戏中的不同位置,那么很快就会生成海量信息。Node 是这种场景的一种很好的解决方案,因为它能采集游戏生成的数据,对数据进行最少的合并,然后对数据进行排队,以便将它们写入数据库。使用整个服务器来跟踪玩家在游戏中发射了多少子弹看起来很愚蠢,如果您使用 Apache 这样的服务器,可能会 有一些有用的限制;但相反,如果您专门使用一个服务器来跟踪一个游戏的所有统计数据,就像使用运行 Node 的服务器所做的那样,那看起来似乎是一种明智之举。

以上就是关于node.js的用处和node.js的好处的介绍了(想看更多内容就到PHP中文网node.js中文参考手册栏目),有问题的可以在下方提问

【小编推荐】

node.js该怎么使用?通俗的讲一下node.js的应用过程:

node.js是做什么的?node.js的10种应用场景介绍

以上就是node.js适合做什么?用node.js的好处在哪里?的详细内容,更多请关注其它相关文章!

相关标签: node.js js